当我更新到Xcode 5时,我花了几个月的时间为iOS 6开发应用程序。当我决定在iOS 6.1上再次运行应用程序时,我更新了应用程序以适应iOS 7风格。我发现我之前的黑色导航栏变白了。
我将我的故事板换成“iOS 6.1及更早版本”,并发现导航栏的颜色为白色,即使它在模拟指标中设置为“不透明黑色导航栏”。
有关如何解决此问题的任何想法?我已经尝试过手动将子视图顶部栏设置为“不透明的黑色导航栏”。这会更改导航栏的颜色,使子项在故事板上显示为黑色,但在模拟器上运行时对应用程序没有影响。
答案 0 :(得分:15)
看起来我需要做的是检查设备是否运行的版本低于iOS 7,然后设置
[[[self navigationController] navigationBar] setTintColor:[UIColor blackColor]];
答案 1 :(得分:13)
为了设置导航栏的颜色,我执行了以下操作:
if([self.navigationController.navigationBar respondsToSelector:@selector(barTintColor)])
{
// iOS7
self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:236.0/255.0 green:139.0/255.0 blue:23.0/255.0 alpha:1.0];
}
else
{
// older
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:236.0/255.0 green:139.0/255.0 blue:23.0/255.0 alpha:1.0];
}
希望有人会觉得有用......
答案 2 :(得分:0)
UIBarStyleBlackOpaque
已被弃用。
改为使用UIBarStyleBlack
。
或者在iOS 7中,您可以将barTintColor
属性设置为黑色。
答案 3 :(得分:0)
for: - iOS 7
// set tint color in io s6
[[[self navigationController] navigationBar] setBarTintColor:[UIColor blackColor]];
for: - iOS 7
// set translucent property to NO in iOS 7
self.navigationController.navigationBar.translucent=NO;
// set Bar tint color
[[[self navigationController] navigationBar] setTintColor:[UIColor blackColor]];
// But I would recommend Use Images instead of color.
for iOS 6: - 320 X 44尺寸的图像
对于iOS 7: - 320 X 64大小的图像