12

我的 iOS 5 应用程序中有一个 Storyboard。

在那里,我创建了许多屏幕,并且效果很好。

但是,我在代码中创建了一个视图控制器,不是作为 UI 操作的结果,而是在处理数据结束时。然后,我想将这个视图控制器显示为 modalViewController,但也要在情节提要编辑器中设计它。

是否可以?使用笔尖我是这样做的:

ResultsController *rc = [[ResultsController alloc] initWithNibName:@"ResultsController"
                                                            bundle:nil];
[self.navigationController presentModalViewController:rc animated:YES];
[rc release];

现在我真的没有 nib 文件,那我该怎么做呢?

4

3 回答 3

35

看一下 UIStoryboard 类。有一个 instantiateViewControllerWithIdentifier 方法。因此,您需要在 Storyboard Editor 中为 ResultsController ViewController 设置 Identfier。

你可以做这样的事情

UIViewController *viewController = 
   [[UIStoryboard storyboardWithName:@"MainStoryboard" 
                              bundle:NULL] instantiateViewControllerWithIdentifier:@"ResultsController"];

[self presentModalViewController:viewController animated:NO];
于 2011-11-13T12:04:56.157 回答
2

在您的故事板中:

  1. 添加一个通用的 UIViewController。
  2. 使用 Identity Inspector,将其自定义类设置为您的 ResultsController。
  3. 创建从源视图控制器到 ResultsController 的模态序列
于 2012-01-17T16:31:10.970 回答
2

对于斯威夫特 4

let viewController = UIStoryboard.init(name: "MainStoryboard", bundle: nil).instantiateViewController(withIdentifier: "ResultsController")
self.present(viewController, animated: true, completion: nil)
于 2017-11-03T16:28:34.277 回答