3 回答
TA贡献1805条经验 获得超10个赞
tintColor在iOS 7.0中,for栏的行为已发生变化。它不再影响酒吧的背景。
从文档:
barTintColor 类参考
应用于导航栏背景的色调颜色。
@property(nonatomic, retain) UIColor *barTintColor
讨论
默认情况下,此颜色为半透明,除非您将半透明属性设置为NO。
可用性
适用于iOS 7.0及更高版本。
在UINavigationBar.h中声明
码
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
TA贡献1828条经验 获得超6个赞
通过在Xcode中使用Interface Builder,可以很容易地完成原始问题 - 获取旧Twitter的Nav Bar外观,蓝色背景和白色文本。
使用文档大纲,选择导航栏。
在“属性”检查器的“导航栏”组中,将“样式”从“默认”更改为“黑色”。这会将导航和状态栏的背景颜色更改为黑色,将其文本更改为白色。因此,当应用程序运行时,状态栏中的电池和其他图标和文本将显示为白色。
在同一导航栏组中,将条形色调更改为您喜欢的颜色。
如果导航栏中有条形按钮项目,它们仍将以默认的蓝色显示其文本,因此在“属性”检查器的“视图”组中,将“色调”更改为“白色”。
这应该会得到你想要的。这是一个屏幕截图,可以更容易地看到进行更改的位置。
请注意,仅更改条形色调不会更改导航栏或状态栏中的文本颜色。风格也需要改变
TA贡献1829条经验 获得超6个赞
self.navigationBar.barTintColor = [UIColor blueColor];
self.navigationBar.tintColor = [UIColor whiteColor];
self.navigationBar.translucent = NO;
// *barTintColor* sets the background color
// *tintColor* sets the buttons color
- 3 回答
- 0 关注
- 719 浏览
添加回答
举报