0

我有一个分组表视图,每个组中有多个单元格。我想要的是,当用户选择任何特定单元格时;我想显示特定选定单元格的子元素。

例如:如果用户选择"A"然后我应该显示"A1","A2","A3"... Or "B"然后它应该显示"B1","B2","B3"...**在另一个视图控制器的表格对象中。**

对子值进行硬编码没有限制。我的segue从表视图连接到另一个视图控制器。

4

3 回答 3

0

您需要使用折叠表的概念

在此处查看展开step by step explanation和折叠部分

展开部分

你也可以sample code在这里查看。

示例代码

享受编程

于 2012-12-07T06:58:06.110 回答
0

它也称为嵌套表视图。参考这个博客 ,示例代码在这里

于 2012-12-07T07:06:02.247 回答
0

在您的第二个视图控制器中创建一个属性

@property (nonatomic) NSIndexPath *parentIndex;

并将其合成到 .m 文件中

@synthesize parentIndex;

在您的第一个 tableview 控制器中创建一个 ivar

NSIndexPath *passIndexPath;

并在您的表委托中

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    passIndexPath = indexPath;
   [self performSegueWithIdentifier:@"push_SecondTableViewController" sender:self];
}

现在实现以下功能,它会在您触发 segue 时正确运行

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

    if ([[segue identifier] isEqualToString:@"push_SecondTableViewController"])
    {
      Your_SecondViewController *viewController = [segue destinationViewController];

      viewController.parentIndex = passIndexPath; 
     //Here we are passing the indexpath of the selected cell so now you can set the 
     //data of the table in second view controller
    }
}

现在在您的 SecondView 控制器中,借助您知道的 parentIndex,选择了哪个部分的哪一行,您可以相应地显示数据

同样的方式,您甚至可以为您的子单元格传递数据数组。

希望对你有帮助,

于 2012-12-07T07:12:10.260 回答