当我使用 – [UIBarButtonItem initWith
Image:style:target:selector:]创建条形按钮项目时,我无法应用色彩颜色的导航项的后退按钮项.
使用图像作为视图控制器后台上下文不再可以吗?我似乎没有在HIG中找到任何指示,或者其中已被弃用或不鼓励的地方.
这是我的代码:
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"camera-navigation_item_back"] style:UIBarButtonItemStyleBordered target:nil action:nil]; [navItem setBackBarButtonItem:barButtonItem];
iOS 7结果:
iOS 6结果:
编辑:如果我尝试使用其中一个系统项目(加号,垃圾箱等)作为我的后退按钮,Apple将图像替换为标题“Back”.这在iOS 6和7中实际上是一样的.
解决方法
将图像的渲染模式设置为UIImageReneringModeAlwaystemplate(该主题在上一个答案中提到的WWDC视频的33:00附近):
UIImage *backButtonImage = [UIImage imageNamed:@"imageName.png"]; backButtonImage = [backButtonImage imageWithRenderingMode:UIImageRenderingModeAlwaystemplate]; UIBarButtonItem * backButton = [[UIBarButtonItem alloc] initWithImage:backButtonImage style:UIBarButtonItemStylePlain target:nil action:nil]; [[self navigationItem] setBackBarButtonItem:backButton]; [[[self navigationItem] backBarButtonItem] setTintColor:[UIColor redColor]];
如果您在AppDelegate.h中全局设置了tintColor,则不需要最后一行:
[[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。