美文网首页
Storyboard加载控制器、xib加载控制器View

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

作者: 丹丹十个胆小鬼 | 来源:发表于2018-12-20 17:07 被阅读0次

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.

相关文章

网友评论

      本文标题:Storyboard加载控制器、xib加载控制器View

      本文链接:https://www.haomeiwen.com/subject/jyxskqtx.html