TableView不显示整个tableViewCell(高度)

时间:2017-08-15 16:23:22

标签: ios swift xcode uitableview

我在Xcode 8上使用Swift 3构建一个带有tableview和自定义单元格的ViewController。我在自定义单元格中有多个标签,我在初始化中使用以下代码设置了自动布局:

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 90.0

这是在Xcode上设置的方式:

My view controller with tableview and custom cell

这是它在模拟器上的外观:

on simulator

我尝试在运行时使用相同的结果在右边的最后一个标签上设置约束。我是否需要将视图放在容器视图中,如CollectionView或其他什么?

3 个答案:

答案 0 :(得分:1)

目前尚不清楚你施加了什么约束。但是,您必须将第一个标签固定到superview的顶部,并将最后一个标签固定到superview的底部,以使自动尺寸工作。另外,请确保所有标签都已将其顶部和底部相互设置。

答案 1 :(得分:1)

将top,bottom,leading和trailing的自动约束设置为您喜欢的任何值。但是,此值是您希望偏离不同边距的许多像素。之后,将以下代码添加到viewDidLoad()

tableView.rowHeight = UITableViewAutomaticDimension tableView.estimatedRowHeight = 100

通过使用UITableViewAutomaticDimension,您可以告诉表视图使用自动布局约束,这些约束将使用内容来确定高度。

要使用UITableViewAutomaticDimension,您需要指定estimatedRowHeight。此值是一个任意值,它将成为后备,您可以使用您认为对项目有益的任何值。如果这对您有用,请告诉我。

答案 2 :(得分:1)

将您的控制器设置为tableview委托。

UITableView协议

实施tableView(_:heightForRowAt:)方法
return 90.0