ios7导航栏左UIBarButtonItem问题
Posted
技术标签:
【中文标题】ios7导航栏左UIBarButtonItem问题【英文标题】:ios7 navigationbar left UIBarButtonItem issue 【发布时间】:2013-10-09 07:33:46 【问题描述】:我正在将我的大项目更新到 ios7 。当我更新左侧导航按钮时有问题。 我不明白什么是问题。
ios6:左键图片没问题:
ios7:左键有问题
当我去下一个视图控制器后退按钮在 ios7 中也有同样的问题:
我正在使用这张图片作为菜单:link。图像是透明的。
如何在 ios7 中解决这个问题。 这是一个大项目,我无法共享所有代码。当我阅读文章时,文章说它的问题是 setTintColor。对 ?
对不起我的英语。
谢谢。
【问题讨论】:
iOS 7 UIBarButton back button arrow color 您需要使用图像(如此图像)创建 UIButton 并将其添加到 UIBarButtonItem。在 ios7 UIButtons 和 barbuttons 中只显示这样,它是默认的。 @AdilSoomro 在我尝试之前但它不起作用。 【参考方案1】:我更改了全局色调,并使用这种方式来保持 UIBarButtonItem 正常。
#define kColorGlobalTint [UIColor redColor]
UIColor *defaultColor = [UIView appearanceWhenContainedIn:[UINavigationBar class], nil].tintColor;
[[UIView appearance] setTintColor:kColorGlobalTint];
[[UIView appearanceWhenContainedIn:[UINavigationBar class], nil] setTintColor:defaultColor];
[[UINavigationBar appearance] setBarTintColor:kColorGlobalTint];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
【讨论】:
【参考方案2】:左上角导航栏按钮中使用的图像颜色是什么?您可以尝试更改以下内容。
-
给条形按钮项 tint = clear color
将条形按钮项下的按钮项色调设为默认,并将其背景设为清晰颜色。
将按钮项的 Alpha 值更改为 1。
【讨论】:
我编辑了问题。你可以看到我的图片有问题。图片是透明的 我也想支持ios7早期版本。它对我不起作用。我解决了。我要分享我的答案【参考方案3】:我解决了问题。我添加到 viewDidLoad 方法
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
else
[self.navigationController.navigationBar setTintColor:[UIColor colorWithRed:.694 green:.164 blue:.105 alpha:1.0f]];
【讨论】:
以上是关于ios7导航栏左UIBarButtonItem问题的主要内容,如果未能解决你的问题,请参考以下文章
具有自定义视图的 UIBarButtonItem 在 iOS 7 上用作左侧或右侧导航栏项目时未正确对齐