如何在ios6和ios7中设置标签栏项目的图像



如何为ios6和ios7的标签栏设置图像。我的标签栏只在ios7中运行,因为imageWithRenderingMode方法没有在ios6中运行。如何设置标签栏项目在ios6和ios7中运行。提前感谢。这是我的代码。

 UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
 UITabBar *tabBar = tabBarController.tabBar;
 UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
 UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
 UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
 UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];
 tabBarItem1.title = @"Phim mới";
 tabBarItem2.title = @"Xem phim";
 tabBarItem3.title = @"GS Xoay";
 tabBarItem4.title = @"Về chúng tôi";
 [tabBarItem1 setImage:[[UIImage imageNamed:@"ic1.jpg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
 [tabBarItem2 setImage:[[UIImage imageNamed:@"ic2.jpg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
 [tabBarItem3 setImage:[[UIImage imageNamed:@"ic3.jpg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
 [tabBarItem4 setImage:[[UIImage imageNamed:@"ic4.jpg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
 return YES;

您需要在运行时检查该方法是否存在:

UIImage *image1 = [UIImage imageNamed:@"ic1.jpg"];
if ([image1 respondsToSelector:@selector(imageWithRenderingMode:)]) {
    [tabBarItem1 setImage:[image1 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [tabBarItem2 setImage:[[UIImage imageNamed:@"ic2.jpg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [tabBarItem3 setImage:[[UIImage imageNamed:@"ic3.jpg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [tabBarItem4 setImage:[[UIImage imageNamed:@"ic4.jpg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
} else {
    [tabBarItem1 setImage:image1];
    [tabBarItem2 setImage:[UIImage imageNamed:@"ic2.jpg"]];
    [tabBarItem3 setImage:[UIImage imageNamed:@"ic3.jpg"]];
    [tabBarItem4 setImage:[UIImage imageNamed:@"ic4.jpg"]];
}

我建议你阅读文档中的"SDK兼容性指南"

最新更新