2017-07-18 101 views
0

我在UITableViewCell中有一个视图,根据条件,视图高度可以是90或60。我做了一个IBOutlet来限制高度,并在cellForRow方法中更新它的值,但在日志中获取布局。在更新常量后,是否需要调用cellForRow中的任何方法(如layoutIfNeeded)?UITableVeiwCell中的更新约束条件

回答

0

UITableViewDelegate有这种方法,它决定了细胞的高度。

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

执行此方法并根据您的条件返回所需的高度。

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

所以这里的步骤,

  1. 拖动从 '对象库' 删除一个UITableViewCell
  2. 选择单元格,然后从“尺寸检查器”中将“行高”设置为60.
  3. 设置子视图及其约束条件。不要在表格视图单元格的“内容视图”上放置高度限制。
  4. 实现上述方法并返回高度60

如果同一个小区可以有高度90,在步骤二,四组90,并确保限制不破,当你在步骤设置90二。