我想懒惰地将自定义UIViewController
作为子项添加到也自定义的其他UIViewController
中。我尝试像这样在viewDidAppear:animated:
中创建它:
- (void)viewDidAppear:(BOOL)animated {
if (hostingUI == nil) { // `hostingUI` is an ivar
hostingUI =
[[UIStoryboard storyboardWithName:@"MainStoryboard"
bundle:[NSBundle mainBundle]]
instantiateViewControllerWithIdentifier:@"hosting-ui"];
[self addChildViewController:hostingUI];
}
}
我上面的ivar
hostingUI
乍一看似乎很正常,但是随后我注意到它的所有成员都是nil
(在调用addChildViewController
后进入LLDB)。显然,父控制器中没有任何显示,而且我还缺少有关
instantiateViewControllerWithIdentifier
的工作方式的信息。 最佳答案
[myStoryboard instantiateViewControllerWithIdentifier:@"Some name"]
可让您从StoryBoard实例化特定页面,其中涵盖了所有内容(segue
,IBOutlets
,IBActions
)。但是,如果应该将此特定视图嵌入NavigationController
中,则必须使用其rootViewController
实例化该视图。
关于ios - StoryboardInstantiateViewControllerWithIdentifier返回空的 View Controller ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20072568/