【问题标题】:Navigation title bar is glitchy, it shows a grey background when going back导航标题栏有故障,返回时显示灰色背景
【发布时间】:2018-09-27 19:51:52
【问题描述】:

此 gif 将帮助您了解我的问题是什么:

在我的一些导航控制器上,我以前从未遇到过这个问题,我很难调试这个问题。

复制步骤:克隆https://github.com/Jasperav/GlitchedNavigationBar

  1. 创建新项目
  2. 将现有视图控制器嵌入标签栏控制器中
  3. 在导航栏控制器中嵌入相同的视图控制器
  4. 在情节提要中添加新的视图控制器
  5. 在新的视图控制器上,点击 Hide Bottom Bar on Push(这会导致问题)
  6. 在第一个视图控制器上添加一个按钮,该按钮将显示新的视图控制器。现在我们遇到了问题。

我正在运行 Xcode 10 和 swift 4.2

【问题讨论】:

  • 大概你正在用你的导航栏做一些不寻常的事情 - 子类化?自定义背景?还有什么?
  • @AshleyMills 我添加了复制路径,我认为我没有做任何奇怪的事情......

标签: swift uinavigationcontroller uinavigationbar


【解决方案1】:

发生这种情况是因为您的导航栏是半透明的,并且在导航栏下方显示了控制器的一部分。您的顶部控制器中有一张地图,当您向后导航时,它会在导航栏下对其进行动画处理,这就是闪烁的原因。

要仅在一个控制器中更改导航栏的半透明效果,您需要将其添加到 viewDidLoad 方法中:

navigationController?.navigationBar.isTranslucent = false

或者,如果您想全局更改它,请将其添加到应用委托中的 didFinishLaunchingWithOptions 方法中:

UINavigationBar.appearance().isTranslucent = false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-24
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多