2

我需要从 UITableView 中实现 1 级大纲视图。有孩子的单元格将有一个“+”符号,如果用户点击它,它下面的单元格应该向下滑动并且应该出现当前选定行的子单元格。单元格的滑动应该是可见的,如果用户点击已经展开的行的“-”按钮,子单元格应该滑回父单元格。

我试过谷歌搜索,但没有找到任何指针。

我应该如何开始,我应该继承 UITableView 吗?或者我应该实现自己的视图子类并处理那里的所有东西?

我不知何故觉得子类 UITableView 会更容易,因为它会为我们处理所有的行选择,但我不知道该怎么做。

谢谢和问候, 拉吉

4

2 回答 2

2

你不能维护一个字典作为数据源吗?保存字典数组的字典。和具有两个键值对的内部字典:

  1. 已扩展
  2. 儿童信息。

通过检查 bool isExpanded 您将获得行数。并且您需要自定义单元格以添加按钮。它对你有用吗?

您可以通过将单元格内容稍微推向右侧来区分子单元格。

于 2010-05-19T05:11:21.307 回答
1

你必须继承和 UITableViewCell

@interface OutlineCell : UITableViewCell

然后,在您的表的 ViewController 中

- (UITableViewCell*) tableView: (UITableView*) tableView cellForRowAtIndexPath: (NSIndexPath*) indexPath {
    NSString* MyIdentifier = @"MyIdentifier";

    OutlineCell* cell = (OutlineCell*) [tableView dequeueReusableCellWithIdentifier: MyIdentifier];
    if (cell == nil) {
        cell = [[OutlineCell alloc] init];
    }

    // Populate cell data
}

您可以通过 IB 定义界面,创建一个 Empty XIB 并拖动一个 UITableViewCell,并将您的自定义 OutlineCell 类作为文件所有者。然后添加按钮、标签等。

编辑:如果您想要一个单元格内的内部表格,请尝试使用相同的方法向您定义的 UITableViewCell 添加一个子视图,其中包含一个 UITableView 。

于 2010-05-18T14:35:04.750 回答