美文网首页
通过xib描述控制器的view

通过xib描述控制器的view

作者: 彼岸的黑色曼陀罗 | 来源:发表于2016-09-01 19:57 被阅读0次
  • 创建窗口
  • 设置窗口的根控制器
    • 登录控制器
      • alloc/initWithNibName:bundle:
    • 创建xib,用xib描述登录控制器的view
      • command + d 直接就可以复制一个新的控件
    • 如果想要用xib去描述控制器的view必须要做两件事情
      • 绑定类,告诉xib去描述哪一个控制器的view
        • file‘s owner
        • class: loginViewController
      • 连线,告诉控制器xib当中哪一个view去描述控制器的view
        • 选中file's owner 右击连线
        • 绑定完类之后才能连线
    • 如果initWithNibName:bundle:
      • 如果指定了名称,就去加载指定名称的xib
      • 如果指定的名称为nil,默认就去加载跟他相同名称的xib(LoginViewController.xib)
      • 如果没有跟他相同名称的xib,会去加载跟他相同名称,去掉controller的xib(LoginView.xib)
    • 如果alloc/init
      • init方法底部调用了initWithName:bundle:
    • 创建控制器的同时,创建xib,内部已经绑定好类,连好线,加载相同名称的xib
  • 显示窗口

loadView

  • 凡是在类扩展里声明的属性带*的默认都是没有值,必须要创建(数组、控件)
  • 只要重写了loadView就说明控制器的view要自己创建
  • loadView的默认做法
    • 当前控制器是否在storyboard中加载,如果是从storyboard加载,就从storyboard中创建view,给当前控制器赋值
    • 如果不是从storyboard中加载,就去看,当前控制器有没有xib来描述view,如果有,就会从xib当中创建view
    • 如果也没有xib描述,那么他就会创建一个空的view
  • loadView当控制器view第一次使用的时候调用
    • 在控制器的view的get方法中调用
    • 控制器的view是懒加载
//只要重写了loadView就说明控制器的view要自己创建
- (void)loadView{
 UIView * view = [UIView alloc]init]
 self.view = view;
}

相关文章

网友评论

      本文标题:通过xib描述控制器的view

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