【问题标题】:Setting iOS Navigation background color not working correctly设置 iOS 导航背景颜色无法正常工作
【发布时间】:2017-06-02 19:30:07
【问题描述】:

我有一个非常具体的问题。当我将背景barTintColor 设置为蓝色时,它太亮了。我所做的一切似乎都无法使其 100% 准确。

所以我更改了代码,将导航栏背景设置为 100% 黑色。使用 OS X 应用 SIP 分析颜色,或者只是将视图设置为黑色,很明显颜色是非常深的灰色,但不是黑色。

是什么让色彩搞砸了?就目前而言,我需要的蓝色和导航栏显示的内容并不相同。

    navigationController?.navigationBar.setBackgroundImage(UIImage.imageFromColor(UIColor.black), for: .default)
    navigationController?.navigationBar.shadowImage = UIImage()

    navigationController?.navigationBar.barStyle = .blackOpaque
    navigationController?.navigationBar.isOpaque = true
    navigationController?.navigationBar.barTintColor = UIColor.black

也在一个空白项目中,新鲜的,相同的问题。

【问题讨论】:

  • 您是否尝试将navigationBar.isOpaque 设置为true
  • 我做了,结果一样。字面上没有变化。我更新了示例代码。同样在一个空白项目中,新鲜的,同样的问题。
  • 导航栏似乎有模糊,这就是为什么你不能得到你想要的颜色的原因。创建一个自定义导航栏,它一直是我的解决方案。
  • 我正准备这样做,但下面的玛丽安明白了......

标签: ios swift


【解决方案1】:

关键是将isTranslucent设置为false

let navigationBar = navigationController?.navigationBar
navigationBar?.barTintColor = .black
navigationBar?.isTranslucent = false

【讨论】:

  • 天哪,谢谢。这是半透明的设置。从字面上爬遍SO试图找到这个答案。干得好。
猜你喜欢
  • 2019-01-05
  • 1970-01-01
  • 2023-02-09
  • 2015-05-14
  • 1970-01-01
  • 1970-01-01
  • 2013-06-10
  • 1970-01-01
  • 2021-02-16
相关资源
最近更新 更多