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

标签 ios objective-c uitableview iphone-x

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

enter image description here

我尝试为单元格手动设置:

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

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

很遗憾,这不起作用。

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

enter image description here

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

最佳答案

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

enter image description here

这样做解决了问题!

关于ios - 不要在 iPhone X 上为第一个 UITableViewCell 使用 SafeArea inset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48101233/

相关文章:

iOS - 是否可以在设备旋转时仅旋转导航栏按钮?

javascript - Webkit 列查找可见文本的范围

ios - 交换方法时找不到选择器

objective-c - Cocoa WebView不响应键盘事件

ios - 核心数据支持的 UITableView 在删除单元格时出错

ios - 将 UITableView 选择添加/删除到数组,滚动时复选标记消失 - Swift

ios - UICollectionViewFlowLayout,UICollectionView : changing screen orientation breaks cells arrangement

iphone - iOS View subview 无法识别自定义类成员

ios - uitableview 在像 Yahoo Mail App 这样的标题下淡出单元格

arrays - 在 UITableview swift 中使用两个数组