您的位置:首页 > 产品设计 > UI/UE

关于UITabbarItem在iOS 8 上显示不知道哪里来的蓝色并且模糊的问题解决办法

2014-10-18 12:02 746 查看
这个问题折磨我四个小时将近   唉。。。
以后一定要注意苹果官方文档
@implementation UITabBarItem (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 = [[UITabBarItem
alloc] initWithTitle:title image:imageselectedImage:selectedImage];
    } else {
        tabBarItem = [[UITabBarItem
alloc] init];
        [tabBarItem setFinishedSelectedImage:selectedImagewithFinishedUnselectedImage:image];
    }
    return tabBarItem;
}
@end

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

使用举例 :

UIViewController *chargeController=[[[ChargingViewControlleralloc]init]autorelease];
    chargeController.tabBarItem = [UITabBarItemitemWithTitle:nil
image:[UIImage imageNamed:@"daohang_2.png"]selectedImage:[UIImage
imageNamed:@"daohang_2_liang.png"]];
    UINavigationController *chargeNav=[[[UINavigationControlleralloc]initWithRootViewController:chargeController]autorelease];

以前的这种写法废弃了:

    for (UITabBarItem *tabItem
in self.tabBarController.tabBar.items)
    {
        if (tabItem==[self.tabBarController.tabBar.items objectAtIndex:0])
        {
            [tabItem setFinishedSelectedImage:[UIImage imageNamed:@"daohang_1_liang.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"daohang_1"]];
        }
        else if (tabItem==[self.tabBarController.tabBar.items objectAtIndex:1])
        {
            [tabItem setFinishedSelectedImage:[UIImage imageNamed:@"daohang_2_liang.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"daohang_2"]];
        }
        else if (tabItem==[self.tabBarController.tabBar.items objectAtIndex:2])
        {
            [tabItem setFinishedSelectedImage:[UIImage imageNamed:@"daohang_3_liang.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"daohang_3"]];
        }
        else if (tabItem==[self.tabBarController.tabBar.items objectAtIndex:3])
        {
            [tabItem setFinishedSelectedImage:[UIImage imageNamed:@"daohang_4_liang.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"daohang_4"]];
        }
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐