Storyboard加载控制器、xib加载控制器View

1、通过Storyboard加载控制器

  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    // 加载指定的Storyboard
    UIStoryboard *vcSb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    
    // 加载箭头指向的控制器
    //    ViewController *vc = [vcSb instantiateInitialViewController];
    
    // 加载指定表示ID的控制器
    ViewController *vc = [vcSb instantiateViewControllerWithIdentifier:@"yellowVCID"];
    
    
    self.window.rootViewController = vc;
    [self.window makeKeyAndVisible];
1.png

2、通过Xib加载控制器的View

通过Xib加载控制器的View步骤:

  • 1.创建Xib文件
  • 2.告诉Xib描述哪一个控制器的View--->绑定类
  • 3.告诉控制器,Xib当中哪一个View去描述控制器的View---->连线
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    //通过Xib加载控制器的View
    //1.创建Xib文件
    //2.告诉Xib描述哪一个控制器的View,->绑定类
    //3.告诉控制器,Xib当中哪一个View去描述控制器的View.->连线
    
    
    /***
     initWithNibName:
     1.指定名称,会加载指定名称的xib.
     2.如果name指定的为nil.
     先去加载有没有相同名称的xib,如果有,就去加载.(FLViewController.xib)
     如果没有相同名称,还会去找相同名称,去掉Controller(FLView.xib)
     3.如果还没有,就不使用xib来描述控制器的view.去创建一个View.
     
     */
    //  init方法默认会调用initWithNibName:
    
    FLViewController *vc = [[FLViewController alloc] initWithNibName:@"Test" bundle:nil];
    
    self.window.rootViewController = vc;
    [self.window makeKeyAndVisible];
2.png
  • initWithNibName:(init方法默认会调用initWithNibName:)
    1.指定名称,会加载指定名称的xib.
    2.如果name指定的为nil.
    先去加载有没有相同名称的xib,如果有,就去加载.(FLViewController.xib)
    如果没有相同名称,还会去找相同名称,去掉Controller(FLView.xib)
    3.如果还没有,就不使用xib来描述控制器的view.去创建一个View.
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容