【问题标题】:Navigation bar different color in iOS7?iOS7中的导航栏颜色不同?
【发布时间】:2013-09-15 11:51:28
【问题描述】:

我正在创建一个 iPhone 应用,但我的导航栏在每个视图中都有不同的颜色?

我正在为 iOS7 和 Xcode 5 开发。

我已尝试通过在 AppDelegate.m 文件中编写以下代码以编程方式使导航栏相同:

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];

我该怎么办?

【问题讨论】:

  • 它是什么颜色,你期待什么颜色,视图的颜色是什么?
  • 每个屏幕上的颜色大多相同。

标签: iphone ios objective-c uinavigationbar ios7


【解决方案1】:

NavigationBar 样式为半透明浅色(默认)或半透明深色。 translucent 属性默认为 YES,设置为 NO 并使用导航栏的 barTintColor 属性设置导航栏背景颜色。

Objective-C

self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
self.navigationController.navigationBar.translucent = NO;

斯威夫特 3

navigationController?.navigationBar.barTintColor = UIColor.white
navigationController?.navigationBar.isTranslucent = false

【讨论】:

    【解决方案2】:

    您需要设置 barTintColor 属性。

    您可以使用 Tint (barTintColor) 字段为导航栏背景指定自定义色调颜色。默认背景色为白色。

    如果您想要纯色,还可以将顶部栏的属性设置为不透明而不是半透明 来自 iOS7 文档:https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/UIKitUICatalog/UINavigationBar.html#//apple_ref/doc/uid/TP40012857-UINavigationBar-SW1

    【讨论】:

    • 我也试过了,颜色变了,但是不一致???它在每个视图中具有不同深浅的所选颜色? :S
    • 抱歉,这是 iOS7 风格。我不认为有没有阴影的选项,或者您应该在导航栏下方制作一个内部视图,以便导航栏后面没有任何内容。
    • 另一种选择可能是取消选中视图上的下顶栏属性(延伸边缘)。
    • 但是颜色明显不同?有些是褐色的,有些是灰色的,有些是全黑的,而且每个视图的背景应该完全相同?
    • 尝试设置以下属性“translucent = NO”。这将停止从底层视图继承的颜色阴影。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    相关资源
    最近更新 更多