23

我最近升级到 Xcode 9-beta 和 iOS 11。当我在我的项目上推送播放时,我的所有视图都被状态栏向下推了大约 20 像素,而不是状态栏直接在我的视图顶部。我有 iOS 10 的伙伴没有这个问题。我附上了截图供您参考。

任何人都可以提供一些建议吗?任何帮助将非常感激。提前非常感谢。

干杯,西奥 在此处输入图像描述

4

4 回答 4

36

快速回答

您可能希望将contentInsetAdjustmentBehavior您的tableViewscrollView对象设置为.never.

if #available(iOS 11.0, *) {
    tableView.contentInsetAdjustmentBehavior = .never
}

或者

if #available(iOS 11.0, *) {
    scrollView.contentInsetAdjustmentBehavior = .never
}
于 2017-08-24T12:10:56.927 回答
17

我遇到了同样的问题,经过几个小时的搜索,我终于找到了问题。

Xcode 9 有一个新的安全区域概念,默认情况下,故事板现在在所有视图的顶部添加一个安全区域。

如果您选择 ViewController 的根视图并选择 Size Inspector,您将看到一个复选框,如图 所示

取消选中它,这个顶部填充将消失。

于 2017-09-06T14:09:44.963 回答
8
if (@available(iOS 11.0, *)) {
        _tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
于 2017-08-17T07:39:28.980 回答
1

如果使用UITableViewStyle.grouped- 即使您添加,35px 的间隙仍然存在tableView.contentInsetAdjustmentBehavior = .never。尝试更改UITableViewStyleplain. 这为我解决了一个问题。

于 2017-10-03T07:24:08.150 回答