iOS5 - 代码中的手动 Storyboard View 选择

标签 ios5 storyboard

我是 iOS 新手,第一次使用 Storyboard。当我的应用程序启动时,它会使用我编写的服务器应用程序进行检查,以查看保存的凭据是否经过身份验证,然后我在 AppDelegate 类中尝试在应用程序的 Storyboard 中显示适当的场景 - 如果经过身份验证,则为 MainMenu 或登录屏幕如果未通过身份验证。

我尝试在 Storyboard 上使用 instantiateViewControllerWithIdentifier 以及在设置为“初始 View Controller ”的初始 NavigationController 上使用 performSegueWithIdentifier 以显示适当的 View ..

然而,这两种方法只显示空白导航栏,我不确定从这里去哪里。

如果有一些关于其他人如何手动操作 Storyboard 场景和 View Controller 的示例代码,那就太好了。我是否可能将代码放在错误的位置(即它应该进入第一个 View Controller )还是无关紧要?没有引发异常,我似乎可以根据需要访问实例化对象。

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

任何想法将不胜感激。

最佳答案

根据我(目前)对 Storyboard的(不可否认的)理解,你应该有两个从第一个 View Controller 中命名的 segue,然后你可以根据需要简单地触发一个或另一个(我假设有某种“加载/身份验证”屏幕,无论多么简短?)

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

为了调试,我会在初始 View Controller 上设置按钮,以确保 segue 链接/等是正确的。

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

我已经将 performSegueWithIdentifier 放在我的应用程序的第一个 viewcontroller 的 viewDidAppear 中(我认为这不是最好的主意;但这应该是最快的?我会避免说它应该在 viewcontroller 堆栈中的某个地方触发,而不是从appdelegate,但我还没有测试过)。

关于iOS5 - 代码中的手动 Storyboard View 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8162268/

相关文章:

ios - 如何使用 Swift 创建底部表单样式 Model View Controller ?

iphone - 使 iPhone 应用程序兼容 iOS 5

iphone - SQLite "SQLITE MISUSE"错误

ios5 - UILabel 和 numberOfLines 以及 sizeToFit :

uitableview - 在 Storyboard中和定义 VC 类之后编辑 UITableViewController

ios - 将变量从模态 TableView 传递到父 View

ios - 从 Swift 4 中的 XIB 实例化时,自定义 UIView 为空

ios - 如何使用 iOS 5 构建 armv6 和 armv7 架构

iphone - 如何在父 ScrollView 中调整 webview?

cocoa-touch - 如何对切换容器 View Controller 进行 Storyboard ?