0

终于让我的 api 登录工作了,但我只是遇到了一个巨大的障碍,登录后重定向到主页。我的故事板看起来像这样

当前故事板

所以我在那个提交按钮上有我的所有进程,在验证通过后,我想重定向到事件页面,但它总是会缓存并给我这个异常:

由于未捕获的异常'NSGenericException'而终止应用程序,原因:'找不到用于segue'LoginSuccess'的导航控制器。只有当源控制器由 UINavigationController 的实例管理时,才能使用推送 segue。

这是推送到下一页的行

if(user.isValid){
        // go to next page
        [self performSegueWithIdentifier:@"LoginSuccess" sender:self];
    }
    else{
            // else refresh current page
    }

多谢你们!

4

1 回答 1

1

UINavigationController如果您想在其上使用 push segue,您的登录视图控制器应该嵌入到其中。

你应该有这样的东西:

-(initial view controller)-> [UINavigationController] -(embed)- LoginViewController -(push)-> EventsListViewController

编辑:( 来自评论)如果你真的想使用推送转场,你需要把它放在导航控制器中;否则,您可能必须通过代码(通过更改appDelegate.window.rootViewController)或通过模态 segue 更改屏幕。但是,如果您使用模态转场,则无法使用模态转场显示任何其他控制器。(如果当前视图控制器已经以模态方式显示,则不能以模态方式显示控制器。)

到目前为止,我只使用了通过代码更改 rootViewController。如果您在 UINavigationController 中嵌入 LoginViewController,您可能必须将 Back 按钮作为注销(在 EventsListViewController 中时)或在导航控制器中弹出视图控制器时处理。

于 2013-01-16T07:11:46.840 回答