0

我第一次使用故事板,我遇到了 segue 的问题,我的故事板是这样的:

                                           __ ViewController
                                          /
                       __ TabBarController
                      /                   \__ ViewController
                     /
 -> TableViewController
                     \
                      \__ NavigationController ___ ViewController

我创建了 2 个 segue,一个用于 TabBarController,一个用于 NavigationController,其标识符为“AddServer”(用于 NavigationController)和“GoMainBoard”(用于 TabBarController)。从带有自定义测试的 TableViewController 中,我使用此代码触发 TabBarController 或 NavigationController

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
        [_tbvDownloads deselectRowAtIndexPath:indexPath animated:YES]; 

        if (indexPath.row == [tableView numberOfRowsInSection:0]-1) {
            [self performSegueWithIdentifier:@"AddServer" sender:self];
        } else {
            ...
                [self performSegueWithIdentifier:@"GoMainBoard" sender:self];
            ...
        }
    }

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"AddServer"])
    {
        UINavigationController *navigationController = segue.destinationViewController;
        ...
    }
    if ([segue.identifier isEqualToString:@"GoMainBoard"])
    {
        UITabBarController *tabBar = (UITabBarController *)segue.destinationViewController;
    }
}
  • (void)prepareForSegue 被调用但我的 TabBarController 没有被解雇,谁能解释我哪里出错了?谢谢
4

1 回答 1

0

显然,push segue 只适用于导航控制器。在其他情况下,您将不得不使用“模态”类型。希望这能回答你的问题 :)

另请参阅:segue 在简单的 segue 测试中不起作用

于 2012-05-28T10:20:35.640 回答