【问题标题】:Black space on top of View Controller视图控制器顶部的黑色空间
【发布时间】:2017-10-27 14:40:39
【问题描述】:

从 iOS11 开始,我的屏幕顶部有一个黑色空间:

我的视图控制器在 Xib 文件中定义并显示在 NavigationController 中

我可以做些什么来删除这个顶部空间?

编辑:

视图由 XIB 定义,ViewController 被推入导航控制器

安全区域已禁用

【问题讨论】:

  • 问题是为什么首先会有黑色空间。如何在导航栏下方添加内容?
  • 它只是一个用XIB定义的UIViewController并推入一个navigationController
  • 此问题与 iOS 11 无关,那么您在导航栏色调颜色或图像中使用的是什么?我会找出解决办法的。
  • 它是条形颜色:self.navigationBar.barTintColor = UIColor.Blue self.navigationBar.tintColor = UIColor.white self.navigationBar.isTranslucent = false
  • 好的太好了!!关注此链接可能对您有用。 stackoverflow.com/questions/39419308/…

标签: ios xib ios11


【解决方案1】:

您可以禁用安全区域,这应该会有所帮助;

【讨论】:

  • 我在没有安全区域的情况下进行了测试,它没有解决我的问题。我已经更新了我的问题
【解决方案2】:

尝试将导航项“大标题”模式中的控制器更改为“从不”。 对我来说,这是调整 tableView 的位置。

class UINavigationItem {
   var largeTitleDisplayMode: LargeTitleDisplayMode
}

【讨论】:

    【解决方案3】:

    问题与 iOS 11 有关,我也遇到了同样的问题。在我的根 viewController navigationItem.titleView 是自定义 UISearchBar 并且似乎 searchBar 收到了错误的高度。这就是为什么我在控制器中有这条黑线,这是最近被推的。已通过手动将高度设置为 44 来修复。

    也许这会对你有所帮助。

    【讨论】: