分组表视图空白部分

Posted

技术标签:

【中文标题】分组表视图空白部分【英文标题】:Grouped table view empty section 【发布时间】:2010-06-08 20:14:07 【问题描述】:

我已经阅读了我能找到的关于这个问题的所有答案,包括这里的答案:link text

我试图完成的最著名的例子可能是联系人应用程序的详细信息屏幕。有些联系人有电话号码和电子邮件,有些有多个电话号码但没有电子邮件等。我的数据来自远程服务器,有些人的记录可能有一个电话号码,其他人可能有 3 个电子邮件地址但没有电话,其他人可能有 2 个电话号码和 2 个电子邮件地址等。

关于如何处理此问题的任何建议,再次以联系人为例(分组表视图,具有可变数量的部分和每个部分的可变行)。在我上面发布的链接中,简单地使用 deleteSections:withRowAnimation: 的答案之一是有意义的,但我不清楚在这种情况下我将如何实现它,因为我没有使用 commitEditingStyle,我只想“删除”动态的部分是空的。

感谢您的宝贵时间。

【问题讨论】:

【参考方案1】:

为什么要构建空单元格,只是为了再次删除它们? 编写一个类,将检索到的数据格式化为 UITableViewController 可以理解的数据对象,例如 SectionDataObject。

首先定义一些部分,例如电子邮件部分、电话号码部分等。 让您的 SectionDataObject 为这些部分类别中的每一个保存一个数组,一个 emailsArray、一个 phoneNumbersArray 等。

现在,在所有委托方法中,您只需引用 SectionDataObject 的不同数组。如果用户有 15 封电子邮件但没有电话号码,这不再是问题,emailsArray 将返回计数 15,phoneNumberArray 将返回计数 0。

【讨论】:

【参考方案2】:

对于空的部分,只需从 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 返回 0

【讨论】:

您好,感谢您的帖子。在 numberOfRowsInSection 中返回 0 会留下一个明显的空白区域,该区域曾经是该部分。 然后您可以维护一个可变数组数组作为表的数据源。顶部数组将表示部分,内部数组将表示部分下的单元格。这样,您的顶部数组将包含确切数量的部分(根据数据 - 如果其中一个部分没有数据,则顶部数组中将没有该部分的元素)。

以上是关于分组表视图空白部分的主要内容,如果未能解决你的问题,请参考以下文章

为分组表视图中的每个部分添加阴影

在 Xcode Storyboard 中编辑具有多个部分的静态分组表视图

分组表视图中单元格的索引路径

是否可以在分组表视图上方放置隐藏搜索栏?

分组表视图发送 nil 但普通工作完美

如何为分组表部分设置不同的背景图像..?