1

在 iOS 8 中,我有UILabel一个UITableViewCell. 我希望单元格根据UILabel's text 具有动态高度。它工作正常。但是当文本是空字符串时,它似乎有一个默认高度,但我希望它为零。

这是我所做的:

  1. 使用 . 设置单元格的约束masonry。设置topbottom约束。
  2. tableView.estimatedHeight
  3. 返回UITableViewAutomaticDimension委托heightForRow方法

那我做错什么了吗?有什么帮助吗?

4

2 回答 2

2

将 heightForRowAtIndexPath 的代码更改为此。这行得通!

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

   NSString *text = [yourDataSourceArray objectAtIndex:indexPath.row];
   if(text.length > 0 ){
     return UITableViewAutomaticDimension;
   }

   return 0;
}
于 2016-01-14T08:43:47.973 回答
0
[yourLabel setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisVertical];
[yourLabel setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisVertical];

将标签 V compress 设置为高优先级

于 2016-01-14T08:05:13.410 回答