塞格呼吁但不解雇

时间:2012-01-10 22:37:40

标签: xcode storyboard segue

我第一次使用故事板,我遇到了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没有被解雇,任何人都可以解释我在哪里犯了错误?感谢

1 个答案:

答案 0 :(得分:0)

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

另请参阅:segue does not work in simple segue test