我第一次使用故事板,我遇到了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;
}
}
答案 0 :(得分:0)
显然,push segue仅适用于导航控制器。在其他情况下,您必须使用“模态”类型。希望能回答你的问题:)