在UITableVeiwCell中更新约束

时间:2017-07-18 12:19:57

标签: uitableview autolayout

我在UITableViewCell中有一个视图,视图的高度可以是90或60,具体取决于条件。我将IBOutlet设置为高度约束并在cellForRow方法中更新其值,但在日志中获取布局。在更新常量后,我是否需要在cellForRow中调用layoutIfNeeded之类的任何方法?

1 个答案:

答案 0 :(得分:0)

UITableViewDelegate使用此方法确定单元格的高度。

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

实施此方法,并根据您的条件返回所需的高度。

除此之外,您需要确保在提供此高度时,您的约束不会中断。

所以这是步骤,

  1. 从“对象库”中拖放UITableViewCell
  2. 选择单元格,然后从“尺寸检查器”中将“行高”设置为60。
  3. 设置子视图及其约束。不要在表格视图单元格的“内容视图”上设置高度限制。
  4. 实施上述方法并返回高度为60。
  5. 如果此相同的单元格可以具有高度90,则在步骤2中设置90,在步骤2中设置90时确保约束不会中断。