简体   繁体   English

Xcode 5中的iOS 6导航栏颜色

[英]iOS 6 Navigation Bar Color in Xcode 5

I'd spent a few months developing an application for iOS 6 when I updated to Xcode 5. I updated the application to fit with the iOS 7 style, when I decided to run the application again on iOS 6.1. 当我更新到Xcode 5时,我花了几个月的时间为iOS 6开发应用程序。当我决定在iOS 6.1上再次运行应用程序时,我更新了应用程序以适应iOS 7风格。 I found that my previously black navigation bar had turned white. 我发现我之前的黑色导航栏变白了。

I swapped my storyboard to be viewed as "iOS 6.1 and Earlier", and found that the color of the navigation bar was white, even though it was set to "Opaque Black Navigation Bar" in the simulated metrics. 我将我的故事板交换为“iOS 6.1和更早版本”,并发现导航栏的颜色为白色,即使它在模拟指标中设置为“不透明黑色导航栏”。

Any ideas on how to fix this? 有想法该怎么解决这个吗? I've already tried manually setting the child view top bars to "Opaque Black Navigation Bar" as well. 我已经尝试过手动将子视图顶部栏设置为“不透明的黑色导航栏”。 This changes the color of the navigation bar for the child to appear black on the storyboard, but has no effect on the application when run on the simulator. 这会更改导航栏的颜色,使子项在故事板上显示为黑色,但在模拟器上运行时对应用程序没有影响。

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

[[[self navigationController] navigationBar] setTintColor:[UIColor blackColor]];

For setting the color of the navigation bar, I did the following: 为了设置导航栏的颜色,我做了以下事情:

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];
}

Hopefully somebody will find it helpful... 希望有人会发现它有用......

UIBarStyleBlackOpaque is deprecated. 不推荐使用UIBarStyleBlackOpaque

Use UIBarStyleBlack instead. 请改用UIBarStyleBlack

Alternatively in iOS 7 you can set the barTintColor property to black. 或者在iOS 7中,您可以将barTintColor属性设置为黑色。

for :- iOS 7 适用于: - iOS 7

// set tint color in io s6
[[[self navigationController] navigationBar] setBarTintColor:[UIColor blackColor]];

for :- iOS 7 适用于: - 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 size of Image 对于iOS 6: - 320 X 44大小的图像
for iOS 7 :- 320 X 64 size of Image 对于iOS 7: - 320 X 64大小的图像

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM