Xcode 5中的iOS 6导航栏颜色

Kam*_*ros 11 xcode storyboard ios ios6 ios7

当我更新到Xcode 5时,我花了几个月的时间为iOS 6开发应用程序.当我决定在iOS 6.1上再次运行应用程序时,我更新了应用程序以适应iOS 7风格.我发现我之前的黑色导航栏变白了.

我将我的故事板交换为"iOS 6.1和更早版本",并发现导航栏的颜色为白色,即使它在模拟指标中设置为"不透明黑色导航栏".

有想法该怎么解决这个吗?我已经尝试过手动将子视图顶部栏设置为"不透明的黑色导航栏".这会更改导航栏的颜色,使子项在故事板上显示为黑色,但在模拟器上运行时对应用程序没有影响.

Kam*_*ros 15

看起来我需要做的是检查设备是否运行低于iOS 7的版本,然后设置

[[[self navigationController] navigationBar] setTintColor:[UIColor blackColor]];
Run Code Online (Sandbox Code Playgroud)


Ark*_*ady 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];
}
Run Code Online (Sandbox Code Playgroud)

希望有人会发现它有用......