iOS通过多种方式创建控制器

2020-01-15 13:37:15丽君

2.4> 模仿程序一启动就加载Main.storyboard文件,创建窗口,创建箭头指向的窗口根控制器,并且显示窗口。(先清空主界面设置,需要删除缓存)


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Override point for customization after application launch.
   
  //创建窗口(窗口不能被释放,否则不能显示)
  self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
   
  //加载storyboard,nil标识[NSBundle mainBundle]
  UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
   
  //加载箭头指向的控制器
  UIViewController *vc = [storyboard instantiateInitialViewController];
 
  //让控制器成为窗口的根控制器
  self.window.rootViewController = vc;
   
  //显示窗口
  [self.window makeKeyAndVisible];
   
  return YES;
}

3. 通过xib创建控制器的view(空项目) (首先得要有xib)

3.1 xib注意点:
1> xib里面必须有一个view描述控制器的view,因为控制器的view属性必须有值。
2> xib需要指定描述哪一个控制器,描述UIView不需要,因为xib里 面可以描述很多UIView,不能固定死,但是控制器就不一样了,一个只用来描述一个控制器。
3> xib里面可能有很多view,需要拖线指明哪个是控制器的view


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Override point for customization after application launch.
   
  // 创建窗口
  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
   
  // 通过xib创建控制器
  ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
  self.window.rootViewController = vc;
   
  [self.window makeKeyAndVisible];
    
  return YES;
}

3.2 xib和storyboard的区别storyboard已经指定了控制器的view,不需要我们管,xib需要我们手动管理。

以上就是本文的全部内容,希望能够帮助大家轻松创建iOS控制器有所帮助。



注:相关教程知识阅读请移步到IOS开发频道。