Ios 如何从安全区域创建自定义样式UITableViewCell插图?

Ios 如何从安全区域创建自定义样式UITableViewCell插图?,ios,uitableview,autolayout,ios-simulator,safearealayoutguide,Ios,Uitableview,Autolayout,Ios Simulator,Safearealayoutguide,当UITableViewCell是视图层次结构的一部分时,如何从设备屏幕的安全区域创建具有自定义样式插入的UITableViewCell?我的UITableViewCell左侧被摄像头缺口切断 当我同时拥有自定义布局UITableViewCell(不是基本/详细视图样式之一)和在UINavigationController内的视图中使用UITableViewCell时,设置iOS 11[contentInsetAdjustmentBehavior]和方法不起作用。这些值应该默认为YES 我也尝试

当UITableViewCell是视图层次结构的一部分时,如何从设备屏幕的安全区域创建具有自定义样式插入的UITableViewCell?我的UITableViewCell左侧被摄像头缺口切断

当我同时拥有自定义布局UITableViewCell(不是基本/详细视图样式之一)和在UINavigationController内的视图中使用UITableViewCell时,设置iOS 11
[contentInsetAdjustmentBehavior
]和方法不起作用。这些值应该默认为YES

我也尝试过设置默认为否

一些行为

  • 将视图层次设置为
    UIViewController>UIView>UITableView>UITableViewCell。UIViewController
    是情节提要的入口点。(下文)
    • 自定义UITableViewCell从水平安全区域正确插入,与正常一样
  • 将视图层次设置为
    UINavigationController>UIViewController>UIView>UITableView>UITableViewCell
    。UINavigationController是脚本的入口点,UIViewController作为导航控制器的根视图控制器

    • 只有UITableView需要
      preserveSPerViewLayoutMargins=YES
      才能从安全区域插入基本/细节样式的UITableViewCell
  • 将视图层次设置为
    UINavigationController>UIViewController>UIView>UITableView>UITableViewCell
    。UINavigationController是脚本的入口点,UIViewController作为导航控制器的根视图控制器

    • 无法从安全区域插入默认样式UITableViewCell
    • 在下面的屏幕截图中,
      UITableView.preservesSuperviewLayoutMargins=YES
      使用自定义布局UITableViewCell,但该单元格未能正确插入安全区域,如底部的切断模拟器所示
    • 自定义UITableViewCell的布局约束如下所示。如图所示,Interface Builder模拟正确的插入,但实际的模拟器运行不会插入单元格

    #2和#3中的视图层次结构相同,唯一的区别是使用自定义布局UITableViewCell与默认的基本/细节样式

    我已尝试在层次结构中的每个视图上设置
    preservesSuperviewLayoutMargins=YES
    ,这对插入自定义UITableViewCell没有影响。我做了一个简单的测试项目,演示了所描述的视图层次结构中默认基本样式单元格和自定义样式单元格之间的插入问题

    我不是唯一一个在横向iPhone X/11上测试定制UITableViewCell的人。如何从设备安全区域正确插入表格单元格内容?谢谢