控制器创建的三种方式
来源:互联网 发布:免费打国际电话软件 编辑:程序博客网 时间:2024/04/29 10:10
如果用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];
- 控制器创建的三种方式
- 控制器创建的三种方式
- UI-控制器创建的三种方式
- iOS 【创建控制器的三种方式 sb/xib/代码】
- ios-创建根视图控制器的三种方式
- ios 创建控制器三种方式
- 控制器的创建方式
- 控制器的创建方式
- 加载控制器的三种方式
- iOS加载控制器的三种方式
- 创建控制器的三种方法
- iOS开发UI篇—0408控制器的三种创建方式
- 控制器常见的创建方式
- 控制器几种创建方式以及控制器的view的创建
- 几种创建视图控制器view的方式
- 视图控制器的view创建方式
- ViewController控制器的多种创建方式
- 控制器中view的创建方式小结
- JAVA基础学习之封装与初始化模块
- Maven的基本应用---tomcat自启动与热部署
- TCP为何需要三次握手连接?为何需要四次握手终止连接?
- 常用的gdb调试命令
- 从今天开始,坚持每个星期写至少一篇博客
- 控制器创建的三种方式
- 剑指Offer--032-整数中1出现的次数(从1到n整数中1出现的次数)
- JAVA基础学习之多态抽象与接口
- 简述抽象与接口的区别
- Maven的高级应用--依赖,聚合,继承
- JVM类加载过程
- java学习笔记-java容器类
- enum-------优雅的定义常量
- H5做市级地图