原文地址:http://www.linuxpig.com/2012/01/ios-treeview-design002/ 在第一节中介绍了创建树的结点方法,本节介绍应用UITableView来展示 treeview 。主要需要解决的问题是如何在 UITabeView 中展示合理的缩进。 1)结点计数 2)没有展开的结点的子结点隐藏 3)确定每一个结点的缩进层次 4)顺序存储MyTreeNode所有子结点 应用UITableViewDataSource接口,需要实现如下两个函数: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 我们在tableView:cellForRowAtIndexPath: 这个方法当中实现结点的缩进 第一、结点计数:统计所有结点的子孙结点数量 - (NSUInteger)descendantCount { NSUInteger cnt = 0; for (CSTreeNode *child in self.children) { cnt++; if (child.children.count > 0) cnt += [child descendantCount]; } return cnt; } 第二、隐藏非某些子孙结点:使用一个BOOL类型变量 isIncluded 来标示是否隐藏或显示 - [...] |