分组表视图空白部分
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 会留下一个明显的空白区域,该区域曾经是该部分。 然后您可以维护一个可变数组数组作为表的数据源。顶部数组将表示部分,内部数组将表示部分下的单元格。这样,您的顶部数组将包含确切数量的部分(根据数据 - 如果其中一个部分没有数据,则顶部数组中将没有该部分的元素)。以上是关于分组表视图空白部分的主要内容,如果未能解决你的问题,请参考以下文章