UITableViewController和安全区域

问题描述 投票:0回答:1

我正在使用UITableViewController的子类来支持我非常简单的表视图控制器。像这样:

enter image description hereFriendsViewControllerenter image description here

class FriendsViewController: UITableViewController {


    override func viewDidLoad() {
        super.viewDidLoad()

        tableView.insetsContentViewsToSafeArea = true

    }
}

但是,表格视图覆盖了安全保险箱区域。当我在iPhone X模拟器上预览时,这一点尤其明显。

enter image description here

我希望看到这样的东西:

enter image description here

根据我上面的代码片段,我尝试使用tableView.insetsContentViewsToSafeArea,但是它没有达到Apple文档所说的:

当此属性的值为true(默认值)时,表视图将调整内容视图在其前后各单元格,页眉和页脚中的插入,以使内容适合在安全区域内。

我知道没有UITableViewController的替代解决方案,但是我特别想使用它(这非常方便),并且希望能够对其进行调整,使其性能正常并遵守安全区域。苹果公司设计了一个损坏的组件,这将违背信念。

无论如何,没有类似问题的帖子都没有帮助,因此希望有一个新的起点。

ios swift uitableview tableview
1个回答
0
投票

您看到的是正常且正确的。表格视图是视图控制器的整个视图,并覆盖整个屏幕。由于滚动内容是内置的,因此它仍然可以正常工作,因此用户可以滚动查看表的所有部分。表格的顶部是向下插入的。一切都很好。

如果您确实希望在上一个屏幕快照中显示效果,则必须使表视图控制器成为其他视图控制器的子视图(嵌入式)视图控制器。另一个典型的界面是将表格视图包装在导航控制器中,以便导航栏填充屏幕顶部。

© www.soinside.com 2019 - 2024. All rights reserved.