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

时间:2011-11-17 04:50:21

标签: ios5 storyboard

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

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

然而,使用这两种方法只显示空白导航栏,我不确定从何处开始。

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

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

任何想法都会非常感激。

1 个答案:

答案 0 :(得分:2)

从我对故事板的理解(当时),你应该从第一个视图控制器中有两个命名的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,但我没有测试过。)

相关问题