UitableView中使用AutoLayout的动态单元格高度问题?

时间:2016-09-15 07:25:43

标签: ios autolayout

enter image description here

我必须计算细胞的动态高度取决于两个标签,左标签和右标签。左标签可以有空字符串。如果左侧标签为空,我想给出一个特定的固定高度,否则它将采用左标签高度。 标签为空时无法提供固定高度 此代码无效

self.tableView.estimatedRowHeight = 50

enter image description here

2 个答案:

答案 0 :(得分:2)

您对两个标签的约束应为

top,bottom,leading and trailing

并在viewDidload

中设置以下代码
 self.tableView.estimatedRowHeight = 50
 self.tableView.rowHeight = UITableViewAutomaticDimension;

答案 1 :(得分:1)

将细胞顶部和底部的约束设置为两个标签。 然后在视图控制器中添加以下代码

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 50;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(nonnull NSIndexPath *)indexPath {
    return UITableViewAutomaticDimension;
}