tableView未设置自动行高

时间:2016-07-13 16:10:39

标签: ios swift tableview row-height

在我的项目中,我有一个包含3个部分的静态tableView。第二部分中的单元格包含一个动态填充的标签,因此具有动态高度。单元格应调整其高度到标签的高度。这是我尝试过的,没有成功:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    if indexPath.section == 0 {
      return 44
    } else if indexPath.section == 1 {
      return UITableViewAutomaticDimension
    } else if indexPath.section == 2 {
      return 80
    } else {
      return 50
    }
}

除自动尺寸外,所有部分的高度都已正确设置。有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

if(leader.empty() || letters.size() > leaderLetterNum)

中设置此行
viewDidLoad()

然后编写此tableView.rowHeight = UITableViewAutomaticDimension 方法

table view

还要确保您已正确使用 func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { return UITableViewAutomaticDimension } 。 并且您已设置auto layout

答案 1 :(得分:0)

您还需要提供估计的行高。您可以使用estimatedRowHeight的{​​{1}}属性或实现相应的委托方法来执行此操作:

UITableView

参考:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithSelf-SizingTableViewCells.html