5

我有UITableView一些空白部分。我希望用户能够使用标准编辑模式控件将一行移入其中。到目前为止,我能做到的唯一方法是在我的“空”部分中有一个虚拟行,并尝试通过tableView:heightForRowAtIndexPath:将虚拟行的高度设为零来隐藏它。这似乎将其保留为 1 像素行。我可能可以通过制作一种刚刚填充的特殊类型的单元格来隐藏它[UIColor groupTableViewBackgroundColor],但是有更好的方法吗?

这都是在分组模式下的UITableView

更新:看起来无需任何技巧可以将行移动到空白部分,但是“敏感性”已经足够糟糕了,您确实需要技巧才能使其可用于一般用户(他们不会有足够的耐心慢慢悬停该行围绕空白部分,直到点击)。

4

3 回答 3

1

我发现在 iOS 4.3 中,虚拟行的高度必须至少为 1 个像素,才能提供允许将行移动到该部分的所需效果。

我还发现只有第一节和最后一节才需要虚拟行;中间的任何部分都没有这个问题。

它看起来像在 iOS 5.0 中,根本不需要虚拟行或特殊技巧。

于 2011-12-20T01:22:29.057 回答
0

在管理编辑时,您可以监控表视图是否处于编辑模式。使用内部的标志cellForRowAtIndexPath来决定天气或不显示“空白”行。在“常规”模式下,该行不会显示,但当用户点击“编辑”时,应该再次调用 cellForRowAtIndexPath,这一次决定显示该行。具体如何操作取决于您的数据源以及如何将其粘贴到显示器上。如果您没有再次接到电话,您可以手动使用insertRowsAtIndexPaths/deleteRowsAtIndexPaths和/或调用reloadData来注入行以强制刷新。

于 2009-03-17T16:24:26.140 回答
0

我发现如果从 heightForRowAtIndexPath 方法返回 -1.0 ,它将删除 1 像素线。

于 2011-01-08T12:16:56.633 回答