自动布局垂直约束有时在UITableView

时间:2015-12-28 01:18:27

标签: ios objective-c uitableview autolayout

我有一个UITableView。每行包含一个包含两个UILabel的UIView。两个UIlabels之间的垂直间距使用自动布局约束指定。它看起来像这样:

+-------------------+
| +----------+      |
| | +------+ |      |
| | | text | |      |
| | +------+ |      |
| |          | ROW  |
| | +------+ |      |
| | | text | |      |
| | +------+ |      |
| +----------+      |
+-------------------+

这通常有效但有时在UILabel之间没有空间渲染单元格。如果它不起作用,则不会打印错误。这似乎是不确定的。即如果我创建两个具有完全相同内容的单元格,则可以使用正确的垂直间距渲染,而另一个没有间距。

如果您对如何解决问题有任何建议,请告诉我。

目前,该表使用的估计行高似乎有点不稳定。

tableView.estimatedRowHeight = 100;

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

1 个答案:

答案 0 :(得分:0)

偶尔会遇到同样的问题 如果UITableViewAutomaticDimension的结果接近estimatedRowHeight的值,则会出现十分之一问题。
所以我将estimatedRowHeight的值设置为一个不可能的低值,例如2,以便解决,并且它可以正常工作。