ios - 如何在IOS 6/7上设置导航栏颜色

标签 ios objective-c user-interface ios7 uinavigationbar

我正在用十六进制颜色设置我的UINAvigatoinBar颜色:

self.navigationController.navigationBar.barTintColor = UIColorFromRGB(0x212121);

它在IOS7上运行良好,但在较低版本中,它崩溃并显示以下内容:
[UINavigationBar setBarTintColor:]: unrecognized selector sent to instance

我该怎么办?

最佳答案

我认为最好的方法是使用responseToSelector方法而不是检查iOS版本:

if ([self.navigationController.navigationBar respondsToSelector:@selector(setBarTintColor:)]) {
    [self.navigationController.navigationBar setBarTintColor:NAVBAR_BACKGROUNDCOLOR];
}
else {
    [self.navigationController.navigationBar setTintColor:NAVBAR_BACKGROUNDCOLOR];
}

关于ios - 如何在IOS 6/7上设置导航栏颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262220/

相关文章:

ios - 没有互联网连接时调用 "didFailLoadWithError"?

付费应用的 iOS 应用内购买

ios - TableView 图像在滚动之前不会加载

ios - AFHTTPSessionManager 子类 : Post API with body.

ios - 将多分钟数字(超过 2)分钟转换为 NSDate

javascript - 通过 JavaScript 事件同步两个 CSS 属性

ios - UIImage drawinrect 方法不绘制图像

ios - @interface 中的 Objective-c 特定 iOS 版本

android - 使用阴影层绘画 - 如何更改 alpha

vb.net - 是否可以将控件锚定到另一个控件?