如何在iOS 7中更改导航栏颜色?
基本上我想实现像推特导航栏这样的东西(为iOS7更新推特)。我嵌入在view controller上的导航栏里。我想要的是将导航栏的颜色更改为浅蓝色,以及顶部的工具栏。我似乎在我的storyboard里找不到一个选项。
发布于 2013-09-21 15:13:27
在iOS 7.0中,bars的tintColor行为发生了变化。它不再影响栏的背景。
从文档中:
barTintColor Class Reference
要应用于导航栏背景的色调颜色。
@property(nonatomic, retain) UIColor *barTintColor讨论
默认情况下,除非将半透明属性设置为NO,否则此颜色将变为半透明。
Availability
在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 7 UI Transition Guide中提到的iOS版本
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编辑

发布于 2014-10-17 17:16:40
按照原来的问题来做--得到老的Twitter导航栏外观,蓝色背景和白色文本--只需在Xcode中使用Interface Builder就可以很容易地做到。
这应该能让你得到你想要的。这是一个屏幕截图,可以更容易地看到在哪里进行更改。

请注意,仅更改Bar Tint不会更改导航栏或状态栏中的文本颜色。风格也需要改变。
发布于 2013-09-21 15:05:22
self.navigationBar.barTintColor = [UIColor blueColor];
self.navigationBar.tintColor = [UIColor whiteColor];
self.navigationBar.translucent = NO;
// *barTintColor* sets the background color
// *tintColor* sets the button's colorhttps://stackoverflow.com/questions/18929864
复制相似问题