ios - Controller navigationItem.leftBarButtonItem 在 IOS7 中改变颜色

标签 ios uinavigationbar

我有一个分配给 IOS7 上的 navigationItem.leftBarButtonItem 的图像。当我从设计师那里得到它时,它在导航栏的背景上看起来很好。但是当我在 IOS7 中实现它时,它变得苍白,几乎消失了。

这是它的设置方式:

UIBarButtonItem *button = [[barButtonItemClass alloc] initWithImage:[UIImage imageNamed:@"nav_menu_icon.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(showLeft:)];
viewController.navigationItem.leftBarButtonItem = button;

这就是它的外观(图片来自我的设计师):

enter image description here

这是实现时的样子(在模拟器或手机上):

enter image description here

解决方案是什么?

最佳答案

您应该将导航栏的色调设置为为栏中的所有项目着色。

一个不错的解决方案是使用 UIAppearance iOS 5 中引入的协议(protocol)。
在你 AppDelegate 的 applicationDidFinishLaunching方法把下面的代码:

[[UINavigationBar appearance] setTintColor: [UIColor whiteColor]];

请注意,我目前无法尝试该代码。

干杯!

关于ios - Controller navigationItem.leftBarButtonItem 在 IOS7 中改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22633383/

相关文章:

ios - 如果我买不起Mac,如何开发iOS应用程序?

iOS11 SDK 无法访问应用程序的委托(delegate)

iphone - 获取下一个日期和前一天的日期

ios - iPad iOS 6 如何防止顶角 UINavigationBar 与背景图像四舍五入

ios - 根据 View Controller 设置 UINavigationBar 颜色

ios - 在 viewwillappear 中添加自定义导航栏会使导航变慢?

objective-c - Modal UINavigationController 隐藏但不关闭

iphone - UINavigationBar rightBarButtonItem 没有动画

ios - 如何使 UIImage 适合整个 UINavigationBar View 的大小

ios - 如何从 iOS swift 中的日期获取 1 小时前?