IOS 控制器View的创建方式(方式的优先级 、view的延迟加载)
MJViewController的view的创建 的方式的优先级
控制器view的延迟加载
● 控制器的view是延迟加载的:用到时再加载
● 可以用isViewLoaded方法判断一个UIViewController的view是否已经被加载
● 控制器的view加载完毕就会调用viewDidLoad方法
/*1.没有同名xib情况下2.通过 storyboard 创建3.有指定xib情况下创建4.有同名xib情况5.有同名去掉controll的情况6.loadveiw*/ @implementation NJAppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// 1.创建UIWindowself.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];self.window.backgroundColor = [UIColor whiteColor];// 2.创建控制器NJViewController *vc = [[NJViewController alloc] init];// 其实是两部操作, 首先调用loadview方法, 创建控制器的veiw,然后再设置控制器的view的颜色为紫色, 也就是说后一次的颜色覆盖掉了前一次的颜色vc.view.backgroundColor = [UIColor purpleColor];// 3.设置控制器为window的根控制器self.window.rootViewController = vc;// 4.显示window(在这一行才用到了控制器的veiw) [self.window makeKeyAndVisible];return YES; }- (void) test {/*// 1.第一种方式:没有xib和storyboard// (如果没有xib和storyboard, 会自动创建一个空白的view做为控制器的veiw)NJViewController *vc = [[NJViewController alloc] init];*//*//2.通过 storyboard 创建// 如果通过storyboard创建, 会创建箭头指向view做为控制器的veiw// 如果重写了控制器的loadview方法, 就不会创建storyboard中描述的view作为控制器的view, 而是创建一个空白的veiw做为控制器的veiwUIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Test" bundle:nil];NJViewController *vc = [storyboard instantiateInitialViewController];*//*// 3.有指定xib情况下创建// 如果通过xib, 会创建xib中描述的veiw做为控制器的veiwNJViewController *vc = [[NJViewController alloc] initWithNibName:@"One" bundle:nil];*//*// 4.有同名xib情况// 如果有同名的xib, 会自动找到同名xib中描述的view做为控制器的veiwNJViewController *vc = [[NJViewController alloc] init];*//*// 5.有同名去掉Controller的 xib情况// 如果有有同名去掉Controller的xib, 会自动找到该xib的view做为控制器的viewNJViewController *vc = [[NJViewController alloc] init];*/// 6.重写控制器的loadveiw方法// 如果重写了控制器的loadview方法, 就不会去加载创建同名去掉controller的xib和同名的xib, 而是创建一个空白的veiw做为控制器的veiwNJViewController *vc = [[NJViewController alloc] init]; }
// 当控制器需要显示控制器的view的时候就会调用loadView // 可以在loadView方法中创建view给控制器 // 该方法一般用于自定义控制器的view - (void)loadView {// 什么时候调用loadveiw就代表什么时候加载控制器的veiwNSLog(@"loadView");self.view = [[UIView alloc] init];self.view.backgroundColor = [UIColor greenColor]; }
转载于:https://www.cnblogs.com/liuwj/p/6520093.html
IOS 控制器View的创建方式(方式的优先级 、view的延迟加载)相关推荐
- 自定义view学习-创建自己的九宫格解锁view
先上效果图 效果如上,接下来是如何实现,并没有那么快上代码,不看代码不舒服的请迅速下翻. 九宫格解锁还是比较经典的,作为学习自定义view的入门. 对于九宫格解锁,我的实现思路是这样的: 1.先在屏幕 ...
- MVC 各种传值方式 ASP.NET MVC view与controller传值方式
MVC 各种传值方式 ViewData传值. HomeController.cs Co de: public ActionResult Index() { ViewData["T ...
- 分享了iOS获取通讯录的4种方式
本文实例为大家分享了iOS获取通讯录的4种方式,供大家参考,具体内容如下 使用场景 一些App通过手机号码来推荐好友,如 微博.支付宝 首先客户端会获取通讯录中的所有手机号然后将这些手机号提交到App ...
- iOS五种本地缓存数据方式
iOS五种本地缓存数据方式 iOS本地缓存数据方式有五种:前言 1.直接写文件方式:可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部 ...
- iOS 计步器的几种实现方式
代码地址如下: http://www.demodashi.com/demo/11658.html 这篇文章介绍两种可以获取计步数据的方法,一种是采用CMPedometer获取手机计步器数据,另一种是采 ...
- iOS连接外设的几种方式
一般iOS开发者做APP开发大部分时候都是通过Http(s)请求跟后台服务器打交道,做一些信息展示和用户交互.很少涉及到去跟外部硬件设备连接的开发.随着近年来车联网和物联网的兴起,智能家居和智能硬件的 ...
- android view取坐标点,Android 获取子 View 的位置及坐标的方式
一.View 1.1.View 概述 视图 (View) 是一个容器,专门负责布局.表现为显示在屏幕上的各种视图,如 TextView.LinearLayout 等. 1.2.View 分类 View ...
- iOS 正则表达式使用的三种方式语法
一.正则表达式定义 正则表达式:又称规则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE,是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符 ...
- springboot 获取控制器参数的几种方式
这里介绍springboot 获取控制器参数有四种方式 1.无注解下获取参数 2.使用@RequestParam获取参数 3.传递数组 4.通过URL传递参数 无注解下获取参数 无注解下获取参数,需要 ...
最新文章
- Nature:新聘“诺奖级泰斗”研究揭示大脑中执行不同认知功能环路之间的协同作用
- 21天学MySQL_把整个Mysql拆分成21天,轻松掌握,搞定(下)
- 如何删除eclipse多余的工作空间
- android beam传输速率,无线网络的速率为何不能达到最大值
- 基于注释的Spring MVC Web应用程序入门
- 物联网开发者被疯抢,华为做了什么?
- LeetCode002-两数相加(Add Two Numbers)-Rust语言实现
- HTTP Status 500 - javax.servlet.ServletException: File [/head.jsp] not found
- 延时摄影制作软件——GlueMotion for Mac支持m1
- 高等数学660---从214到221
- CFAR检测MATLAB仿真
- HOG特征,LBP特征,Haar特征(图像特征提取)
- BackTrack5 (BT5)无线password破解教程WPA/WPA2-PSK无线password皴
- 小程序源码:全新动态视频壁纸-多玩法安装简单
- 如何用idea比对代码差异
- PS获取图片三种方式
- 千万量级的零售企业如何做私域流量?打通微信、APP、电商及线下门店一体化私域流量池!...
- C语言的scanf函数在visualstudio中的错误
- 快速排序优化——三数取中法
- C. Equalize(贪心)
热门文章
- nginx ngx_http_core_module(http server location)
- 图解TCPIP-传输层 UDP报文格式
- Ansible Synopsis
- opencv-api warpPerspective
- opencv BRIEF角检测
- matplotlib.pyplot.figure
- Pandas 数据框增、删、改、查、去重、抽样基本操作
- Git学习总结(15)——解决Win10 Git图标不显示问题
- 知行合一!如何做好项目经理?
- Windows学习总结(5)——【IIS建站】Windows10怎么打开站点服务?