【问题标题】:UINavigationBar color has changed after upgrading to latest Xcode升级到最新的 Xcode 后 UINavigationBar 颜色发生了变化
【发布时间】:2014-04-01 18:20:33
【问题描述】:

最近我已将我的 Xcode IDE 更新到最新版本以安装 iOS 7.1 SDK。出于某种原因,在使用新的 Xcode 重新编译我的应用程序后我得到了这个有线UINavigationBar 背景颜色

我正在使用storyboard 从主屏幕推送辅助视图控制器。辅助视图控制器是一个静态设置表,同样使用storyboard 构建,并在其viewDidLoad 方法中包含以下代码:

[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = nil;

我没有对此屏幕或应用程序中的任何其他屏幕进行任何其他更改。

这是以前的样子:

这就是现在的样子:

有人知道是什么原因造成的吗?

干杯,

编辑:@Leo Natan -

当我尝试自己设置颜色时,例如,通过替换此行:

[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

用这一行:

[self.navigationController.navigationBar setBackgroundColor:[UIColor redColor]];

我明白了:红色只应用于没有状态栏的标题,我该怎么办?

【问题讨论】:

  • 尝试重置(NO 然后是)透明效果...
  • 你应该设置barTintColor,而不是背景颜色。
  • @SaifDeen 它没有帮助
  • @LeoNatan 设置 barTintColor 什么也没做。它使整个导航栏完全没有背景(或透明的)
  • @LeoNatan 哦...我看到除了 setBackgroundImage 之外的设置 barTintColor 让我得到了我期望的旧结果。

标签: objective-c xcode uinavigationcontroller uinavigationbar uistoryboard


【解决方案1】:

最新的 Xcode 附带 iOS7.1 SDK,Apple 在其中再次更改了颜色的计算方式。在 iOS7.1 中,您将不得不再次使用您的颜色来获得类似的外观。

【讨论】:

  • 我已根据您的建议编辑了问题以添加另一部分。你能查一下吗?
【解决方案2】:

也许你应该采取另一种方法。使用- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中的外观代理。我就是这样做的:

//Navigationbar
[[UINavigationBar appearance] setBarTintColor:lightOrangeColor];
[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"navbarAssets-backArrow-iOS7"]];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"navbarAssets-backArrow-iOS7"]];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
[[UINavigationBar appearance] setTitleTextAttributes: @{NSForegroundColorAttributeName : [UIColor whiteColor]}];

【讨论】:

    猜你喜欢
    • 2014-11-16
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2013-09-16
    • 2012-08-11
    • 1970-01-01
    相关资源
    最近更新 更多