推送视图控制器时,导航栏上会出现iOS 11黑条

时间:2017-09-26 23:18:14

标签: swift navigationbar ios11

我只在iOS 11中有这个奇怪的错误,在较低的iOS中,一切正常。 问题是无论何时推送到视图控制器,导航栏顶部都会出现黑色空格。有没有其他人遇到过这个问题以及如何解决它?

Pushing

3 个答案:

答案 0 :(得分:29)

问题是,在双倍速度的情况下,您的视图大小小于导航控制器视图大小。

因此,当您滚动视图时,框架在更改内容偏移期间会发生变化,并且它的速度也会加倍。
这可以解释这种行为。 请尝试以下方法解决问题。

extendedLayoutIncludesOpaqueBars = true

您应该在UIViewControllerUITableViewControllerUICollectionViewController

添加此行

答案 1 :(得分:6)

您可以将高度为44的约束添加到iOS 11的搜索栏。

if #available(iOS 11.0, *) {
    searchBar.heightAnchor.constraint(equalToConstant: 44).isActive = true
}

答案 2 :(得分:0)

有同样的问题并通过删除以下部分修复它 viewWillDisappear期间来自父控制器的代码

self.navigationController?.setNavigationBarHidden(true, animated: animated)