我已经看过很多例子来展示如何做一个可折叠的表格视图,但我找不到适用于静态单元格的东西。我有几个在 IB 中制作的单元格,如果单击部分标题,我想折叠这些单元格,但我无法弄清楚或理解如何操作。如果有人能告诉我或指出一个这样做的例子,我将不胜感激。
这是我需要折叠的单元格之一的示例:
我已经看过很多例子来展示如何做一个可折叠的表格视图,但我找不到适用于静态单元格的东西。我有几个在 IB 中制作的单元格,如果单击部分标题,我想折叠这些单元格,但我无法弄清楚或理解如何操作。如果有人能告诉我或指出一个这样做的例子,我将不胜感激。
这是我需要折叠的单元格之一的示例:
您可以参考这个示例:(下载示例代码)
http://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Introduction/Intro.html
所以基本上这段代码的作用是:
您在 -(UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section 中创建 Section --> 每个 Section 都有 SectionHeaderView --> 您基本上将点击并展开您的表格视图。
您将实现两个委托方法:
-(void)sectionHeaderView:(APLSectionHeaderView*)sectionHeaderView sectionOpened:(NSInteger)sectionOpened
-(void)sectionHeaderView:(APLSectionHeaderView*)sectionHeaderView sectionClosed:(NSInteger)sectionClosed
--> 这将在内部调用 insertRowsAtIndexPaths 和 deleteRowsAtIndexPaths --> 这将在内部调用 tableview:cellForRowAtIndexPath --> 现在您需要创建包含地址、城市等的单元格...
如果您需要更多信息,请与我们联系。
多亏了这个,我终于找到了一个我很满意的解决方案:https ://github.com/xelvenone/StaticDataTableViewController
一个非常简单的实现解决方案:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
self.reloadTableViewRowAnimation = UITableViewRowAnimationMiddle;
self.deleteTableViewRowAnimation = UITableViewRowAnimationMiddle;
self.insertTableViewRowAnimation = UITableViewRowAnimationMiddle;
if (indexPath.row == 0) {
[self toggleCellVissibilityOrReload:self.cell1];
}
[self reloadDataAnimated:YES];
}