动态显示TableView或DetailView

时间:2012-06-03 08:05:24

标签: ios xcode uitableview segue

从我的TableView中,我动态地想要根据单元格的内容显示TableView或DetailView(new segue)。我从TableView设置了两个segll到不同的DetailViews,从TableViewCell到TableView设置了一个segue。

我几乎已经使用performSegueWithIdentifier:完成了实现(见下文),但仍存在一个棘手的问题:在DetailView上调用[self dismissModalViewControllerAnimated:YES];后,它返回到一个空的TableView。我假设是因为执行了UITableViewCell的故事板segue。通过单击后退按钮,我将返回到原始(父)TableView数据。

对这项工作的任何建议?

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSLog(@"%s", __PRETTY_FUNCTION__);
    NSString *type = [[self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row] valueForKey:@"cell_type"];
    NSLog(@"cell_type: %@", type);
    if([[segue identifier] isEqualToString:@"DetailSegue"])
    {
        UIViewController *detailViewController = [segue destinationViewController];        
        detailViewController.game = [self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row];
    } else if ...
    } else if([[segue identifier] isEqualToString:@"TableViewSegue"]){
    if([type isEqualToString:@"TableView"]){
    //Create child ViewController, a custom ViewController with custom initWithId:Title:
    CategoryViewController *categoryViewController = [[segue destinationViewController] initWithId:categoryId Title:categoryTitle];
    }
}

}

1 个答案:

答案 0 :(得分:1)

我会在tableview中创建多个单元格。每个都有自己的标识符。然后将每个单元格连接到自己的detailviewcontroller。您还可以将单元格连接到其自己的视图控制器(仅为特定单元格创建向下钻取功能)。

多数人......