繁体   English   中英

autolayout当文本为空字符串时,UILabel的动态高度计算不起作用?

[英]autolayout UILabel's dynamic height calculation doesn't work when text is empty string?

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

这就是我所做的:

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

所以我做错了什么? 有帮助吗?

将heightForRowAtIndexPath的代码更改为此。 这有效!

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

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

   return 0;
}
[yourLabel setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisVertical];
[yourLabel setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisVertical];

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM