我正在使用自动布局来布局我的表格视图的单元格。当我在单元格中的某些元素的内容为空时,我想隐藏单元格。
我的问题是,如果我用以下方法标记要隐藏的单元格:
cell.hidden = YES;
则单元格使用的"空格"(其高度以 heightForRowAtIndexPath 计算)仍然存在,但显示为灰色。实际上,单元格是隐藏的,但它仍然是"流"的一部分。
如果我尝试将要隐藏在 heightForRowAtIndexPath 中的单元格的高度设置为零,则会出现异常,因为自动布局无法满足所有约束。
有没有一种简单的方法可以隐藏单元格并将其从显示的"流"中删除,或者我是否必须更新对单元格的约束以允许高度为 0 才能实现?
谢谢尼古拉斯
更新数据模型以不包含单元格,以便它不会在cellForRowAtIndexPath:
中返回。
或者,您可以在将高度设置为 0 时禁用单元格上的自动布局:
[cell removeConstraints:cell.constraints]