如何为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兼容性指南"