如何在 iOS 7 中更改导航栏颜色?
基本上,我想实现类似 Twitter 导航栏的功能(针对 iOS7
更新了 Twitter)。我在 view controller
上嵌入了一个导航栏。我想要的只是将导航栏颜色与顶部的实用工具栏一起更改为浅蓝色。我似乎无法在我的 storyboard
中找到选项。
最佳答案
tintColor
的行为在 iOS 7.0 中发生了变化。它不再影响栏的背景。
来自文档:
barTintColor Class Reference
应用于导航栏背景的色调。
@property(nonatomic, retain) UIColor *barTintColor
讨论
除非您将半透明属性设置为 NO
,否则此颜色默认为半透明。
可用性
适用于 iOS 7.0 及更高版本。
代码
NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7) {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}else {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = [UIColor redColor];
}
我们还可以使用它来检查 iOS 版本,如 iOS 7 UI Transition Guide 中所述
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = [UIColor redColor];
} else {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}
编辑 使用 xib
关于ios - 如何更改 iOS 7 中的导航栏颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18929864/