UITabbarItem重定義之后圖片顯示藍色

以后一定要注意蘋果官方文檔

iOS 8?

@implementationUITabBarItem (Universal)

+ (instancetype)itemWithTitle:(NSString*)title image:(UIImage*)image selectedImage:(UIImage*)selectedImage

{

UITabBarItem*tabBarItem =nil;

if([[UIDevicecurrentDevice]systemVersion].floatValue>=7) {

image = [imageimageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; ?//這兩個地方一定要加上

selectedImage = [selectedImageimageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

tabBarItem = [[UITabBarItemalloc]initWithTitle:titleimage:imageselectedImage:selectedImage];

}else{

tabBarItem = [[UITabBarItemalloc]init];

[tabBarItemsetFinishedSelectedImage:selectedImagewithFinishedUnselectedImage:image];

}

returntabBarItem;

}

@end

.....

[[self.tabBarControllertabBar]setBackgroundImage:[UIImageimageNamed:@"dhbj.png"]];

[[self.tabBarControllertabBar]setSelectionIndicatorImage:[UIImageimageNamed:@"dhbj_1.png"]];

使用舉例 :

UIViewController*chargeController=[[[ChargingViewControlleralloc]init]autorelease];

chargeController.tabBarItem= [UITabBarItemitemWithTitle:nilimage:[UIImageimageNamed:@"daohang_2.png"]selectedImage:[UIImageimageNamed:@"daohang_2_liang.png"]];

UINavigationController*chargeNav=[[[UINavigationControlleralloc]initWithRootViewController:chargeController]autorelease];

以前的這種寫法廢棄了:

for(UITabBarItem *tabIteminself.tabBarController.tabBar.items)

{

if(tabItem==[self.tabBarController.tabBar.items objectAtIndex:0])

{

[tabItem setFinishedSelectedImage:[UIImage imageNamed:@"daohang_1_liang.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"daohang_1"]];

}

elseif(tabItem==[self.tabBarController.tabBar.items objectAtIndex:1])

{

[tabItem setFinishedSelectedImage:[UIImage imageNamed:@"daohang_2_liang.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"daohang_2"]];

}

elseif(tabItem==[self.tabBarController.tabBar.items objectAtIndex:2])

{

[tabItem setFinishedSelectedImage:[UIImage imageNamed:@"daohang_3_liang.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"daohang_3"]];

}

elseif(tabItem==[self.tabBarController.tabBar.items objectAtIndex:3])

{

[tabItem setFinishedSelectedImage:[UIImage imageNamed:@"daohang_4_liang.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"daohang_4"]];

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容