我正在使用UITableViewController
的子类来支持我非常简单的表视图控制器。像这样:
class FriendsViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
tableView.insetsContentViewsToSafeArea = true
}
}
但是,表格视图覆盖了安全保险箱区域。当我在iPhone X模拟器上预览时,这一点尤其明显。
我希望看到这样的东西:
根据我上面的代码片段,我尝试使用tableView.insetsContentViewsToSafeArea
,但是它没有达到Apple文档所说的:
当此属性的值为true(默认值)时,表视图将调整内容视图在其前后各单元格,页眉和页脚中的插入,以使内容适合在安全区域内。
我知道没有UITableViewController
的替代解决方案,但是我特别想使用它(这非常方便),并且希望能够对其进行调整,使其性能正常并遵守安全区域。苹果公司设计了一个损坏的组件,这将违背信念。
无论如何,没有类似问题的帖子都没有帮助,因此希望有一个新的起点。
您看到的是正常且正确的。表格视图是视图控制器的整个视图,并覆盖整个屏幕。由于滚动内容是内置的,因此它仍然可以正常工作,因此用户可以滚动查看表的所有部分。表格的顶部是向下插入的。一切都很好。
如果您确实希望在上一个屏幕快照中显示效果,则必须使表视图控制器成为其他视图控制器的子视图(嵌入式)视图控制器。另一个典型的界面是将表格视图包装在导航控制器中,以便导航栏填充屏幕顶部。