在Storyboard中使用View Controller

时间:2015-05-19 08:45:23

标签: ios cocoa-touch storyboard

我开始学习iOS并且我有一个问题:当我启动项目时,应用程序将加载所有视图控制器或仅加载Main.storyboard中的初始视图控制器?

如果我的应用程序有很多视图控制器,例如50 VC,我想检查50 VC一次加载或每个VC加载我打电话时如下:

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"myViewController"];
vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:vc animated:YES completion:NULL];

经过研究并询问了一些朋友,我在Apple doc中看到了:

  

主要故事板在应用程序的信息属性列表中定义   文件。如果在这个文件中声明了一个主故事板,那么当你的   应用程序启动后,iOS执行以下步骤:

     
      
  1. 它为您实例化一个窗口。
  2.   
  3. 它加载主故事板并实例化其初始视图控制器。
  4.   
  5. 它将新视图控制器分配给窗口的rootViewController属性,然后使窗口可见   屏幕。
  6.   

2 个答案:

答案 0 :(得分:0)

它只加载Main.storyboard中设置的Initial View Controller。您可以将任何视图控制器设置为storyboard->的初始视图控制器。 select any view controller -> go to utility portion of xCode-> go to attribute inspector-> now check is Initial View Controller.

答案 1 :(得分:0)

来自文档:

  

UIStoryboard对象封装了存储在其中的视图控制器图   Interface Builder故事板资源文件。这个视图控制器   graph表示全部或部分视图控制器   应用程序的用户界面。通常,查看控制器   故事板被实例化并自动创建以响应   故事板本身定义的动作。但是,你可以使用   storyboard对象实例化一个初始视图控制器   故事板文件或实例化您想要的其他视图控制器   以编程方式呈现。

StoryBoard将在加载应用程序时加载初始viewController。其他视图控制器将在执行segues时加载或通过以下方法手动加载。

- instantiateInitialViewController
- instantiateViewControllerWithIdentifier:

here

了解详情