【问题标题】:Dynamically showing TableView or DetailView动态显示 TableView 或 DetailView
【发布时间】:2012-06-07 18:54:12
【问题描述】:

在我的 TableView 中,我希望根据单元格的内容动态显示 TableView 或 DetailView(新 segue)。我设置了两个从 TableView 到不同 DetailViews 的 segue,以及一个从 TableViewCell 到 TableView 的 segue。

我几乎已经使用performSegueWithIdentifier: 完成了实现(见下文),但还有一个棘手的问题:我在 DetailView 上调用 [self dismissModalViewControllerAnimated:YES]; 后,它返回到一个空的 TableView 。我假设是因为执行了来自 UITableViewCell 的 Storyboard 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];
    }
}

}

【问题讨论】:

  • 您是否尝试检查您的 TableView 的 viewWillAppear 方法是否有数据?

标签: ios xcode uitableview segue


【解决方案1】:

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

就是这样……

【讨论】:

  • 这可能真的有效!这将简化我的代码并允许我为每个单元格使用 Storyboard segues!刚刚在我的故事板中实现了它,它工作正常。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-27
  • 2015-11-08
  • 1970-01-01
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多