故事板转换到不同的视图控制器以用于不同的tableview单元

时间:2012-02-19 23:06:43

标签: uitableview storyboard transition segue

我已经能够找到有关创建从一个tableview到另一个视图的过渡的教程。单击单元格时的转换是到同一目标视图控制器。我想知道如何转换到tableview中每个单元格的不同视图控制器。我还能用故事板做这件事吗?如果是这样,怎么样?如果没有,您可以提出哪些替代方案?

故事板已从桌面视图连接到详细视图。但这就是我想要完成的事情:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
  if ([[segue identifier] isEqualToString:@"mytransition"]) {

    NSInteger sectionId = [[self.tableView indexPathForSelectedRow] section];
    if (sectionId == 0) {
        NSLog(@"try to change the destination view controller");
        //I don't know if this is possible?!
    } else {
        NSLog(@"Proceed with the original destination view controller");
        //this is ok
    }
  }
}
编辑:我找到了解决方案!您可以在此处查看:http://forums.macrumors.com/showthread.php?t=1274743

总之,解决方案涉及使用prepareForSegue和didSelectRowAtIndexPath的组合给任何感兴趣的人。不是将每个单元格链接到另一个视图,而是从控制器到每个所需的视图控制器创建另一个segue。然后检查segue标识符。

-Jen

1 个答案:

答案 0 :(得分:3)

Jen是对的。 Jen的链接解决方案确实有效。

  • 从表格中的原型单元格到目标视图控制器创建segue
  • 设置segue的标识符。
  • 修改didSelectRowAtIndexPath以获取所选单元格的行号,并使用该单元格的performSegueWithIdentifier标识符调用segue