不要对第一个UITableViewCell使用iPhone X上的SafeArea插图

Nic*_*ard 5 objective-c uitableview ios iphone-x

我有一个UITableView,第一行用作带有完整出血背景图像和其他元素的标题单元格。对于此单元格,我不想使用SafeArea,而是希望UIView一直扩展到屏幕的边缘。目前我得到这个:

在此处输入图片说明

我试图手动设置此单元格:

if (@available(iOS 11.0, *)) {

    headerCell.insetsLayoutMarginsFromSafeArea = NO;
    headerCell.layoutMargins = UIEdgeInsetsMake(10, 0, 10, 0);
    UIEdgeInsets i = headerCell.layoutMargins;
    NSLog(@"Left: %f", i.left);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用。

这是它的外观模型,第一个单元格内容不受安全区域的影响:

在此处输入图片说明

有什么方法可以做我想要的第一个单元格吗?

Van*_*Van 7

在Size Inspector下将“ Content insets ” 标记为“ Never ”对我有用。 在此处输入图片说明


Nic*_*ard 6

我发现我需要取消选中Content View Insets To Safe AreaUITableView上的复选框。

在此处输入图片说明

这样做解决了这个问题!


Jur*_*sic 5

在代码中,可以通过以下方式完成

        tableView.insetsContentViewsToSafeArea = false

Run Code Online (Sandbox Code Playgroud)