UITableView上的自动单元格高度不重叠iPhone X的底部

时间:2018-11-22 07:38:56

标签: ios swift uitableview iphone-x

所以我的目标是实现表格视图的自动高度。我的意思是,每当我向表格视图添加新项目时,表格仍处于“全屏”状态,而单元格正在减小其高度。

例如,这就是我所做的:

on iPhone 6s Simulator

on iPhone 5s Simulator

我已经使用代码实现了:

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
}

但是问题在于,在iPhone X中,它正在执行类似的操作:

on iPhone X Simulator

底部项目的底部被剪切/重叠。我该如何解决?

谢谢。

编辑:

感谢答案Trupesh VaghasiyaPankaj,我已经完成了您的解决方案,找不到了,但这就是我所做的{Screenshot}

但是结果就像这样{iPhone X Screenshot}。您是否认为这违反了iPhone X UI指南?

3 个答案:

答案 0 :(得分:1)

您需要更改TableView底部约束第一项 Safe Area来获得SupperView

enter image description here

让我们知道...在工作吗?

答案 1 :(得分:0)

只需更改与superView相关的Interface约束即可,而不要更改安全区域。检查您的tableview顶部和底部约束,并使其与superView相关。但正如苹果所说,如果您将其设置为与安全区域相关,这是很好的,因为iPhone X和更高版本的屏幕上都具有主页按钮。您可以查看下面的屏幕截图。 Select Bottom Constraint

enter image description here

答案 2 :(得分:0)

选择要更改的constraint,然后在此处Double Click

enter image description here

然后选择First Item,然后选择Superview

enter image description here