我有一个情节提要,它的 ViewControllerDefaultViewController
既不是UITabBarController
也不是“UINavigationController”。它决定即将到来的控制器应该是注册屏幕还是主屏幕。
我有两个源自它的 segues,一个指向UINavigationController' that does registration while other moves to 'UITabBarController
它是默认的主屏幕。
DefaultViewController
调用在ViewDidAppear:
方法中执行以下操作
NSString *theController = nil;
if ([AppState sharedAppState].currentUserState == Registered) {
theController = @"HomeSegue";
} else {
theController = @"RegSegue";
}
[self performSegueWithIdentifier:theController sender:self];
segue 在 iOS Simulator 5.1.1 和 6.0 上表现良好。但是,当我在装有 iOS 5.1.1 的 iPhone 或装有 iOS 6.0 的 iPhone 上运行代码时,什么也没有发生。该视图与DefaultViewController
s 视图保持一致。
编辑 我创建了全新的项目并且在那里工作正常但是当我复制旧的故事板内容和类时,问题重新出现.. !!
** 编辑 2 ** 我删除了与 UINavigationController 关联的 RootViewController 并添加了一个带有标签的简单 UIViewController ,它工作正常。如果我将我的 Custom RegistrationController 添加为根控制器,则不会执行 segue。
PS 我的自定义RegistrationController
在其中添加了另一个控制器作为 childViewController。