Ios UITableView上的自动单元格高度,无需重叠iPhone X的底部

Ios UITableView上的自动单元格高度,无需重叠iPhone X的底部,ios,swift,uitableview,iphone-x,Ios,Swift,Uitableview,Iphone X,因此,我的目标是实现表格视图的自动高度。我的意思是,每当我向表格视图添加新项时,表格仍然是“全屏”的,而单元格正在降低其高度 例如,这就是我所做的: 我已经通过代码实现了这一点: func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { let itemCount:CGFloat = CGFloat(items.count) let statusH

因此,我的目标是实现表格视图的自动高度。我的意思是,每当我向表格视图添加新项时,表格仍然是“全屏”的,而单元格正在降低其高度

例如,这就是我所做的:

我已经通过代码实现了这一点:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    let itemCount:CGFloat = CGFloat(items.count)
    let statusHeight = UIApplication.shared.statusBarFrame.height
    let navHeight = self.navigationController!.navigationBar.frame.height-statusHeight
    let viewHeight = view.bounds.height
    let cellHeight = (viewHeight-navHeight)/itemCount
    return cellHeight
}
但问题是,在iPhoneX中,它做了如下操作:

底部项目的底部被切割/重叠。我怎样才能修好它

多谢各位

编辑:

谢谢你的回答,我已经完成了你的解决方案,找不到,但这就是我所做的{}


但是结果是这样的{}。你不认为这违反了iPhone X UI准则吗?

只需更改与superView相关的界面约束,而不是安全区域。检查tableview顶部和底部约束,并使其与superView相关。但正如苹果公司所说,若你们把它和安全区域联系起来,那个就好了,因为iPhoneX和更高版本在屏幕上都有主页按钮。您可以查看下面的屏幕截图


您需要更改
表格视图
底部约束第一项
安全区域
以提供
支持视图


让我们知道。。。正在工作?

选择要更改的
约束
,然后在那里双击

然后选择
第一项
,然后选择
超级视图


是否要显示3个单元格?直接返回tableview.frame.height/3。不需要状态栏和etcif您已经在其他尺寸的手机上解决了这个问题。问题应该是滚动视图的框架而不是单元格。您的意思是要删除底部的白色区域吗?@PrashantTukadiya是的,我希望它是动态的。因此,每当我添加或删除单元格时,单元格高度都会填满屏幕。@AlexBailey这么说,你的意思是问题不在于单元格高度,而更像是表格高度?谢谢,我很快会尝试的。我会通知你它是否有效。看来答案并不像我想的那样有效。我已经编辑了我的答案。你能检查一下吗?谢谢你的回答。我已经完成了你的解决方案,但似乎答案没有达到我的预期。我已经编辑了我的答案。你能检查一下吗?好的,谢谢你,我马上就去试试。我一落实你的答复就通知你。