博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 控制器创建的三种方式
阅读量:4290 次
发布时间:2019-05-27

本文共 1648 字,大约阅读时间需要 5 分钟。

如果用StoryBoard创建控制器,不走init方法

方法一. 通过xib创建控制器

    /**

     .在创建控制器的时候直接指定要加载xib作为控制器的view,

        > 需要修改xib文件的fileOwner的class

        > 需要将fileOwner里面的view指向xib里面的view

     1.xib文件的名称与控制器的名称不同

     2.xib文件的名称跟控制器相似,但是不同名

     3.xib文件的名称与控制器的名称同名

     */

    

    // 1.创建窗口

    // brightness 可以调节屏幕亮度

    self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];

    

    // 2.设置窗口的根控制器

//加载名称不同名称的xib

//    CZXibController *xibVc = [[CZXibController alloc] initWithNibName:@"CZMmd" bundle:nil];

    

    // 加载相似名称的xib

//    CZXibController *xibVc = [[CZXibController alloc] init];

    

    // 加载名称相同的xib

   CZXibController *xibVc = [[CZXibControlleralloc]init];

    self.window.rootViewController = xibVc;

    

    

    // 3.让窗口做为主窗口并且可见

    [self.windowmakeKeyAndVisible];

    

    

    return YES;

}

方法二:通过storyboard创建控制器

    // 1.创建窗口

    self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];

    

    // 2.设置根控制器

    // 1.先加载sb文件

    UIStoryboard *czsb = [UIStoryboardstoryboardWithName:@"CZSb"bundle:nil];

    // instant 实例化

//加载箭头指向的控制器

   UIViewController *sbVc = [czsb instantiateInitialViewController];

//加载指定重用标示符的控制器

    UIViewController *sbVc = [czsbinstantiateViewControllerWithIdentifier:@"sb"];

    

    self.window.rootViewController = sbVc;

    

    // 3.作为主窗口并可见

    [self.windowmakeKeyAndVisible];

方法三:纯代码创键

    > 1. 先创建一个窗口

//    UIWindow *window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]

    self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];

    

//    > 2. 设定窗口的根控制器为自定义控制器

Xcode7中如果不设置窗口的根控制器会崩溃, 6.4没有问题

    CZViewController *customVc = [[CZViewControlleralloc]init];

    

    // 调用loadView方法加载view,并且把viewDidLoad方法也执行了

    customVc.view.backgroundColor = [UIColorredColor];

    

    self.window.rootViewController = customVc;

    

    

//    > 3. 将这个窗口作为主窗口并显示

    [self.windowmakeKeyAndVisible];

转载地址:http://hqlgi.baihongyu.com/

你可能感兴趣的文章
Sublime Text3插件详解
查看>>
netty源码分析之-ByteBuf详解(8)
查看>>
javascript函数定义三种方式详解
查看>>
javascript中this关键字详解
查看>>
javascript关于call与apply方法详解
查看>>
netty源码分析之-ReferenceCounted详解(9)
查看>>
javascript闭包详解
查看>>
javascript类的创建与实例对象
查看>>
javascript原型详解(1)
查看>>
netty源码分析之-处理器详解(9)
查看>>
javascript原型对象存在的问题(3)
查看>>
javascript原型继承(1)
查看>>
javascript原型继承-实现extjs底层继承(2)
查看>>
javascript设计模式-建立接口的方式(1)
查看>>
javascript设计模式-单体singleton模式(2)
查看>>
javascript设计模式-链式编程(3)
查看>>
大型高并发与高可用缓存架构总结
查看>>
javascript设计模式-工厂模式(4)
查看>>
javascript设计模式-组合模式(6)
查看>>
javascript设计模式-门面模式(7)
查看>>