iOS5 – 代码中的手动Storyboard视图选择

我是iOS新手并且是第一次使用故事板.当我的应用程序启动时,它使用我编写的服务器应用程序进行检查,以查看保存的凭据是否经过身份验证,然后我在AppDelegate类中然后尝试在应用程序的故事板中显示相应的场景 – MainMenu(如果已通过身份验证)或登录屏幕如果没有经过身份验证

我已经尝试在故事板上使用instantiateViewControllerWithIdentifier,并在初始NavigationController上使用performSegueWithIdentifier,它被设置为“初始视图控制器”以显示相应的视图.

但是,使用这两种方法只显示空白导航栏,我不确定从哪里开始.

如果有一些示例代码,其他人如何手动操作故事板场景和视图控制器,那将是很棒的.我可能把代码放在错误的位置(即它应该进入第一个View Controller)还是应该不重要?没有引发异常,我似乎可以根据需要访问实例化对象.

我想我需要更多地理解app delegate窗口的操作,或者我应该专注于通过从InfoPlist设置中删除它的引用来手动加载storyboard?

任何想法将不胜感激.

最佳答案 根据我对故事板的理解(目前为偶然),你应该从第一个视图控制器中找到两个命名的segue,然后你可以根据需要简单地触发一个或者另一个(我假设有某种“加载/验证“屏幕,不过简短?”

if (success) {
    [self performSegueWithIdentifier: @"MainMenuSegue" sender: self];   
} else {
    [self performSegueWithIdentifier: @"LoginSegue" sender: self];  
}

为了调试,我在初始viewcontroller上设置按钮只是为了确保segue linkings / etc是正确的.

除非你正在解决segue / storyboard限制,否则你真的不需要实例化ViewControllerWithIdentifier.我认为.

我把performSegueWithIdentifier放在我的应用程序的第一个viewcontroller的viewDidAppear中(不是最好的想法,我认为;但是它应该发生的那么快?我会说它应该在viewcontroller堆栈的某处触发,而不是从appdelegate,但我没有测试过).

点赞