我正在尝试显示原始标签栏图像.以下代码在iOS7中运行正常,但是ios 6.0上面的代码崩溃了.以下是代码AppDelegates didFinishLaunchingWithOptions
UITabBar *tb = tabBarControllerProperty.tabBar;
NSArray *itemsObject = tb.items;
for(UITabBarItem *tabItem in itemsObject)
{
UIImage *imaged = tabItem.image;
tabItem.selectedImage = imaged;
tabItem.image = [imaged imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];// crash for ios6, not in ios 7
}
Run Code Online (Sandbox Code Playgroud)
Nik*_*uhe 12
从文档:
-[UIImage imageWithRenderingMode:]
可用性:适用于iOS 7.0及更高版本.
您必须检查该方法在运行时是否可用:
if ([imaged respondsToSelector:@selector(imageWithRenderingMode:)]) {
tabItem.image = [imaged imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];// crash for ios6, not in ios 7
} else {
// iOS 6 fallback: insert code to convert imaged if needed
tabItem.image = imaged;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5769 次 |
| 最近记录: |