如何在故事板中创建UIViewController布局,然后在代码中使用它?
问题描述:
我的iOS 5应用程序中有一个Storyboard。如何在故事板中创建UIViewController布局,然后在代码中使用它?
在那里,我创造了许多屏幕,它完美的作品。
但是有一个视图控制器是我在代码中创建的,而不是UI操作的结果,但是在处理数据结束时。我想显示这个视图控制器,然后作为一个modalViewController,但也有故事板编辑器设计它。
可能吗?使用笔尖我这样做:
ResultsController *rc = [[ResultsController alloc] initWithNibName:@"ResultsController"
bundle:nil];
[self.navigationController presentModalViewController:rc animated:YES];
[rc release];
现在我真的没有一个nib文件,所以我该怎么做呢?
答
看看UIStoryboard类。有一个instantiateViewControllerWithIdentifier方法。因此,您需要在Storyboard Editor中为您的ResultsController ViewController设置Identfier。
你可以做这样的事情
UIViewController *viewController =
[[UIStoryboard storyboardWithName:@"MainStoryboard"
bundle:NULL] instantiateViewControllerWithIdentifier:@"ResultsController"];
[self presentModalViewController:viewController animated:NO];
答
在你的故事板:
- 添加一个通用的UIViewController。
- 使用Identity Inspector,将其自定义类设置为您的ResultsController。
- 从源视图控制器到ResultsController
+0
这似乎不工作:( –
答
创建模式赛格瑞对于斯威夫特4
let viewController = UIStoryboard.init(name: "MainStoryboard", bundle: nil).instantiateViewController(withIdentifier: "ResultsController")
self.present(viewController, animated: true, completion: nil)
谢谢!而且......有没有办法设置一个按钮,直接在故事板上关闭ModalViewController?没有将其附加到仅调用此解雇方法的代码中的方法? – kender
我不认为它没有代码就可以工作,因为在Storyboard中没有任何其他ViewController的连接。 – mafis