美文网首页
通过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