UITableView Cells不会在iPhone X上从屏幕的边缘延伸到另一端,而iOS 11上的insetsContentViewsToSafeArea设置为false

时间:2017-10-30 10:02:15

标签: ios uitableview autolayout ios11 iphone-x

在我的应用程序中,我有一个tableView。

我希望我的应用程序在横向模式下在iPhone X上运行良好,而我的tableView单元格可以扩展到屏幕边缘。我看过这个:WWDC video,它描述了如何在风景中将tableView改编为iPhone X.

当我在我的self.tableView.insetsContentViewsToSafeArea = false方法中设置viewDidLoad()时,它在横向模式下对我的tableView没有影响(它可以在屏幕上看到安全区域,但它应该是self.tableView.insetsContentViewsToSafeArea设置为false,从边缘延伸到边缘。

enter image description here

enter image description here

enter image description here

enter image description here

在调试视图中,我看到我的tableView依赖于安全区域,但在WWDC视频中,描述了如何在IPhone X上调整tableView,tableView依赖于屏幕边缘。我希望获得与WWDC视频中显示的相同的结果。

我甚至试图添加cell.backgroundView?.backgroundColor = UIColor.blue,但它没有帮助,因为显然我的tableView靠在安全区域而不是屏幕边缘。

enter image description here

我希望我的tableview将细胞从边缘扩展到边缘,如WWDC视频中所示:https://developer.apple.com/videos/play/fall2017/201/

enter image description here

但我无法做到这一点,不知道为什么。在我的情况下,tableView单元格总是不会超出安全区域。有东西阻止它被扩展,但我无法弄清楚是什么。我在我的应用程序中使用xib中的自定义单元格。您还可以注意到tableView顶部的黄色topView。这不是标题,这是另一种观点,但我不确定这种观点是否会导致细胞延伸到边缘的问题。

我正在使用iOS 11和最新的XCode。我将非常感谢任何帮助和任何可以帮助我解决此问题的解决方案。

2 个答案:

答案 0 :(得分:1)

您是否尝试删除此选项?

答案 1 :(得分:0)

在UITableView上使用contentInsetAdjustmentBehavior

contentInsetAdjustmentBehavior = .never

不幸的是,这不能让您控制更改滚动指示器的插入。 TableView