考虑以下场景:我有一个基于 Storyboard的应用程序。我将 ViewController 对象添加到 Storyboard ,将此 ViewController 的类文件添加到项目中,并在 IB 身份检查器中指定新类的名称。现在我将如何从 AppDelegate 以编程方式引用这个 ViewController?我已经使用相关类创建了一个变量并将其转换为 IBOutlet 属性,但是我看不到任何能够在代码中引用新 ViewController 的方法 - 任何 ctrl-drag 连接的尝试都不起作用.
即在 AppDelegate 中,我可以像这样访问基本 ViewController
(MyViewController*) self.window.rootViewController
但是 Storyboard中包含的任何其他 ViewController 呢?
最佳答案
看看documentation对于 -[UIStoryboard instantiateViewControllerWithIdentifier:]
。这允许您使用您在 IB 属性检查器中设置的标识符从 Storyboard 中实例化 View Controller :
编辑添加示例代码:
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
bundle: nil];
MyViewController *controller = (MyViewController*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"<Controller ID>"];
关于iphone - Storyboard - 引用 AppDelegate 中的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8186375/