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的延迟加载)相关推荐

  1. 自定义view学习-创建自己的九宫格解锁view

    先上效果图 效果如上,接下来是如何实现,并没有那么快上代码,不看代码不舒服的请迅速下翻. 九宫格解锁还是比较经典的,作为学习自定义view的入门. 对于九宫格解锁,我的实现思路是这样的: 1.先在屏幕 ...

  2. MVC 各种传值方式 ASP.NET MVC view与controller传值方式

    MVC 各种传值方式 ViewData传值. HomeController.cs Co de: public ActionResult Index() {       ViewData["T ...

  3. 分享了iOS获取通讯录的4种方式

    本文实例为大家分享了iOS获取通讯录的4种方式,供大家参考,具体内容如下 使用场景 一些App通过手机号码来推荐好友,如 微博.支付宝 首先客户端会获取通讯录中的所有手机号然后将这些手机号提交到App ...

  4. iOS五种本地缓存数据方式

    iOS五种本地缓存数据方式 iOS本地缓存数据方式有五种:前言 1.直接写文件方式:可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部 ...

  5. iOS 计步器的几种实现方式

    代码地址如下: http://www.demodashi.com/demo/11658.html 这篇文章介绍两种可以获取计步数据的方法,一种是采用CMPedometer获取手机计步器数据,另一种是采 ...

  6. iOS连接外设的几种方式

    一般iOS开发者做APP开发大部分时候都是通过Http(s)请求跟后台服务器打交道,做一些信息展示和用户交互.很少涉及到去跟外部硬件设备连接的开发.随着近年来车联网和物联网的兴起,智能家居和智能硬件的 ...

  7. android view取坐标点,Android 获取子 View 的位置及坐标的方式

    一.View 1.1.View 概述 视图 (View) 是一个容器,专门负责布局.表现为显示在屏幕上的各种视图,如 TextView.LinearLayout 等. 1.2.View 分类 View ...

  8. iOS 正则表达式使用的三种方式语法

    一.正则表达式定义 正则表达式:又称规则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE,是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符 ...

  9. springboot 获取控制器参数的几种方式

    这里介绍springboot 获取控制器参数有四种方式 1.无注解下获取参数 2.使用@RequestParam获取参数 3.传递数组 4.通过URL传递参数 无注解下获取参数 无注解下获取参数,需要 ...

最新文章

  1. Nature:新聘“诺奖级泰斗”研究揭示大脑中执行不同认知功能环路之间的协同作用
  2. 21天学MySQL_把整个Mysql拆分成21天,轻松掌握,搞定(下)
  3. 如何删除eclipse多余的工作空间
  4. android beam传输速率,无线网络的速率为何不能达到最大值
  5. 基于注释的Spring MVC Web应用程序入门
  6. 物联网开发者被疯抢,华为做了什么?
  7. LeetCode002-两数相加(Add Two Numbers)-Rust语言实现
  8. HTTP Status 500 - javax.servlet.ServletException: File [/head.jsp] not found
  9. 延时摄影制作软件——GlueMotion for Mac支持m1
  10. 高等数学660---从214到221
  11. CFAR检测MATLAB仿真
  12. HOG特征,LBP特征,Haar特征(图像特征提取)
  13. BackTrack5 (BT5)无线password破解教程WPA/WPA2-PSK无线password皴
  14. 小程序源码:全新动态视频壁纸-多玩法安装简单
  15. 如何用idea比对代码差异
  16. PS获取图片三种方式
  17. 千万量级的零售企业如何做私域流量?打通微信、APP、电商及线下门店一体化私域流量池!...
  18. C语言的scanf函数在visualstudio中的错误
  19. 快速排序优化——三数取中法
  20. C. Equalize(贪心)

热门文章

  1. nginx ngx_http_core_module(http server location)
  2. 图解TCPIP-传输层 UDP报文格式
  3. Ansible Synopsis
  4. opencv-api warpPerspective
  5. opencv BRIEF角检测
  6. matplotlib.pyplot.figure
  7. Pandas 数据框增、删、改、查、去重、抽样基本操作
  8. Git学习总结(15)——解决Win10 Git图标不显示问题
  9. 知行合一!如何做好项目经理?
  10. Windows学习总结(5)——【IIS建站】Windows10怎么打开站点服务?