我刚刚继承了使用委托隐藏/显示 UITableView 行的代码 heightForRowAtIndexPath 方法并为“隐藏行”返回高度 0。

该代码有效,但它让我担心可能会充满不可预见的复杂性。有人可以减轻我的担忧,或者给我充分的理由解释为什么这可能会导致问题(我在初始测试中找不到任何问题)。

该表相当小,总共不到 10 行,即使没有此隐藏行解决方案,也需要自定义行高。

有帮助吗?

解决方案

添加和删​​除两个之间的行会更干净 beginUpdatesendUpdates 调用,但我不明白为什么这个 0 高度方法不应该工作。

如果没有 UI 工件,即(例如这 删除 按钮显示溢出到下一个单元格)。

其他提示

我在刚刚工作的代码中做同样的事情。对于不同的表观视图设置,我对不同的行为不满意。
在我的情况下,替代方案更为复杂(适用于可见的模型)。
目前,我对此进行了a // hack评论,并记录了一些特殊性。
这就是我发现的(测试iOS 5.0):

  1. set tableview.rowheight = 1;零将给出一个具有零高度的单元格(如tableview:tableview height highterforrowatIndExpath :)某些默认高度。
  2. 您必须有一个细胞分离器。如果未选择,则将默认高度分配给零高行。分离器包含1的高度。

如果您的代码以不同的方式工作,那么知道如何设置它会很有趣。

我使用这种将隐藏的单元格高度设置为0的方法,它运行良好,这也意味着我可以通过扩展单元格高(例如添加datepicker cell(如日历应用程序))来对新单元格的包含进行动画化。

我在iOS 7.1中不得不注意的几件事是,即使在单元格高为= 0的情况下,仍然会出现非常压缩的文本,因此我需要在这种情况下删除单元文本。另外,我也改变了单元格的大小,因为它也出现了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top