我正在用十六进制颜色设置我的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/

10-13 03:51