Val*_*din 18 objective-c uiimage ios ios7
setFinishedSelectedImage:withFinishedUnselectedImage:在iOS7中已弃用.苹果公司建议使用的制定者image和selectedImage 同UIImageRenderingModeAlwaysOriginal来代替.我找不到任何如何使用的例子UIImageRenderingModeAlwaysOriginal.所以问题很简单:如何UITabBarItem在iOS7中设置图像?
Pro*_*nja 56
如果您正在尝试在UITabBar上显示实际图像,请使用以下代码.
[yourTabBarItem setImage:[[UIImage imageNamed:@"more.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
Run Code Online (Sandbox Code Playgroud)
如果要以原始状态显示所选图像,请使用以下内容
[yourTabBarItem setSelectedImage:[[UIImage imageNamed:@"more.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
Run Code Online (Sandbox Code Playgroud)
这两个是替代
setFinishedSelectedImage: withFinishedUnselectedImage:
Run Code Online (Sandbox Code Playgroud)
在setFinishedSelectedImage已被弃用,因为苹果希望直接向接口使用模板图像和您选择的tintColor(或蓝默认).所以,易默认完成了标签栏项目的方式.
如果仍需要按照设计使用图标图像,则使用"始终原始"的渲染模式创建图像.喜欢:
[[UIImage imageNamed:@"YourIcon.png"] imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal];
Run Code Online (Sandbox Code Playgroud)
要设置图标,你需要得到tabBarItem从ViewController.我在我的应用程序中错过的是我的每个选项卡都包含NavigationController了选项卡中的顶视图控制器.关于这个主题的大多数答案没有提到获得navigationContoller,这是让它在我的应用程序中工作的关键.
因此,在我的UITableViewContoller子类中,我将以下内容添加到viewDidLoad中.
- (void)viewDidLoad
{
[super viewDidLoad];
...
[self.navigationController.tabBarItem setSelectedImage:[[UIImage imageNamed:@"MySelectedIcon.png"]
imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal]];
}
Run Code Online (Sandbox Code Playgroud)
结果是在选择选项卡时设计的Icon.如果不使用imageWithRenderingMode方法调用,则Icon将被视为使用tintColor着色的模板.希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
11756 次 |
| 最近记录: |