视图控制器顶部的黑色空间

Posted

技术标签:

【中文标题】视图控制器顶部的黑色空间【英文标题】: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 好的太好了!!关注此链接可能对您有用。 ***.com/questions/39419308/… 【参考方案1】:

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

【讨论】:

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

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

class UINavigationItem 
   var largeTitleDisplayMode: LargeTitleDisplayMode

【讨论】:

【参考方案3】:

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

也许这会对你有所帮助。

【讨论】:

以上是关于视图控制器顶部的黑色空间的主要内容,如果未能解决你的问题,请参考以下文章

XLPagerTabStrip 黑色空间

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

ios 7中的黑色状态栏 - 次要问题

为啥我在推送一些 ViewControllers 后获取 tableView 的空间顶部?

使用 iOS 7 ***布局指南

UITableView 在“下拉刷新”期间顶部有额外空间