繁体   English   中英

不要在 iPhone X 上为第一个 UITableViewCell 使用 SafeArea inset

[英]Don't use SafeArea inset on iPhone X for first UITableViewCell

我有一个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);
}

可悲的是,这不起作用。

这是它应该是什么样子的模型,第一个单元格内容不受安全区域的影响:

在此处输入图片说明

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

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

在此处输入图片说明

这样做解决了问题!

将大小检查器下的“内容插入”标记为“从不”对我有用。 在此处输入图片说明

在代码中,它可以通过

        tableView.insetsContentViewsToSafeArea = false

只需转到 tableview 大小检查器并查找默认情况下的内容插入,它将设置为自动将其更改为从不,如下图所示在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM