Objective c 有没有办法将剖切的tableview更改为深入的tableview?

Objective c 有没有办法将剖切的tableview更改为深入的tableview?,objective-c,ios,cocoa-touch,uitableview,datasource,Objective C,Ios,Cocoa Touch,Uitableview,Datasource,我有一个带有plist的分区表视图,plist是一个充满字典的数组。 在我的应用程序中,所有部分和单元格都显示在第一个视图中。 但现在我需要将它改成这样:节必须变成单元(带有节的名称)。当您按下此单元格时,将显示第节中包含的单元格 有没有一种不用太多重写代码的方法 感谢并抱歉noob问题:o)您需要创建两个表视图类。一个用于保存节名,另一个用于保存每个节的行。在第一个示例中,从plist中检索节名称并相应地填充表中的行。然后在-(void)tableView:(UITableView*)tabl

我有一个带有plist的分区表视图,plist是一个充满字典的数组。 在我的应用程序中,所有部分和单元格都显示在第一个视图中。 但现在我需要将它改成这样:节必须变成单元(带有节的名称)。当您按下此单元格时,将显示第节中包含的单元格

有没有一种不用太多重写代码的方法


感谢并抱歉noob问题:o)

您需要创建两个表视图类。一个用于保存节名,另一个用于保存每个节的行。在第一个示例中,从plist中检索节名称并相应地填充表中的行。然后在
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(nsindepath*)indepath
方法中,需要将另一个视图控制器推送到导航堆栈上(类似于模板代码中提供的内容):

//导航逻辑可能在这里。创建并推送另一个视图控制器。
*detailViewController=[[alloc]initWithNibName:@“bundle:nil];
// ...
//将选定对象传递给新的视图控制器。
[self.navigationController pushViewController:detailViewController动画:是];
[详细视图控制器发布];

然后,对于另一个表视图类,您可以通过从plist中读取对应于抽头部分的信息来填充它。希望这能有所帮助。

我知道,您仍然希望使用一个tableview,其中除一个之外的所有部分都隐藏单元格。在这种情况下,您可以执行以下操作:

  • 实现
    -tableView:headerForSection:
    ,并在将返回的视图上放置一个按钮。将章节编号写在按钮标签上。使用参数
    (UIButton*)sender向按钮添加操作:`-(void)headerPressed:(UIButton*)sender
  • 您还需要实现
    -tableView:heightforHeaderInSection:
  • -(void)headerPressed:(UIButton*)sender
    将senders标记写入成员整数并重新加载tableview
  • -tableview:numberofrowsinssection:
    中,如果sections int不等于保存的成员整数,则返回0。如果相等,则返回该节中的行数

我可能需要第二个tableview,因为我使用的是自定义单元格,需要为带有sectiontitles的表格创建另一个。自定义单元格没有问题,您也可以在一个tableview中混合使用多个单元格。
// Navigation logic may go here. Create and push another view controller.

     <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
     // ...
     // Pass the selected object to the new view controller.
     [self.navigationController pushViewController:detailViewController animated:YES];
     [detailViewController release];