通过xib描述控制器的view

  • 创建窗口
  • 设置窗口的根控制器
    • 登录控制器
      • 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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言: 这部分内容,对于大部分人来说使用起来可能已经非常熟练,但是涉及到的细节还是挺多的,对于新开发者可能不是...
    饶鹏伟阅读 4,590评论 1 5
  • - 怎么自己通过storyboard创建控制器(空项目),之前都是系统加载 storyboard,帮我们创建好控制...
    Hevin_Chen阅读 3,440评论 0 0
  • 控制器的创建 1.怎么自己通过storyboard创建控制器(空项目),之前都是系统加载 storyboard,帮...
    SoManyDumb阅读 2,713评论 0 0
  • 年初定了新的目标,也许是迟迟寻觅不到晋升的空间,也许是职业的倦怠,也或许是其他的原因,特别特别想换掉现在的工作,近...
    嘟嘟世界阅读 1,778评论 0 0
  • 不喜欢熬夜,总觉得熬夜会早一点死去。但今夜我就不想睡。 已经是凌晨了,但外面还是灯火通明,连这夜也无法安静了。 傍...
    含一笑阅读 1,891评论 0 0

友情链接更多精彩内容