UIWindow的rootViewController的问题
在创建一个新的project后,在ViewController中添加如下代码:
- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.self.view.backgroundColor = [UIColor redColor];UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 100)];view.backgroundColor = [UIColor brownColor];[[UIApplication sharedApplication].delegate.window addSubview:view];[[UIApplication sharedApplication].delegate.window bringSubviewToFront:view];
}
复制代码
理所当然的认为,在当前屏幕上会是棕色的View盖在红色ViewController上面。可是到了运行的时候发现屏幕就显示了一个红色的View。
棕色的View没添加到?不太可能,程序也能运行到这里
window
是nil?更加不可能,为nil的话还怎么添加ViewController
打开层次视图的时候,会发现其实棕色的view是被盖住了:
但是如果为这个ViewController添加一个Nav什么的,运行又是预想中的效果。
于是乎只能猜测,当单个ViewController作为rootViewController时,首先会先执行viewDidLoad
方法,将整个View加载完毕后,才会添加到window上面。
转载于:https://juejin.im/post/5a30e378f265da432e5bffe3
UIWindow的rootViewController的问题相关推荐
- iOS开发UI篇—多控制器和导航控制器简单介绍
iOS开发UI篇-多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...
- 怎样在swift中创建CocoaPods
本文由yake_099(博客)翻译自raywenderlich,作者:Joshua Greene 原文:How to Create CocoaPods with Swift 你可能对一些比较著名的开源 ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇-UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
- IOS之UITabBarController
在学习IOS开发过程中,针对于UITabBarController的使用也不少出现,UITabBarController和UINavigationController类似,UITabBarContro ...
- ios 界面间跳转方法总结
方式一:Storyboard的segues方式 鼠标点击按钮button然后按住control键拖拽到SVC页面,在弹出的segue页面中选择跳转模式即可 优点:操作方便,无代码生成,在storybo ...
- iOS10 UI教程基础窗口的内容与设置起始窗口
iOS10 UI教程基础窗口的内容与设置起始窗口 iOS10 UI教程基础窗口的内容与设置起始窗口,本章我们从iOS10开发中UI的基础知识开始讲解,其中包括了窗口.视图以及UI层次结构和Views的 ...
- UIPickerView详解
一.UIPickerView 1.UIPickerView的常见属性 // 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id< ...
- iOS UI基础-11.0 UINavigationController
导航控制器 利用UINavigationController,可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是系统自带的"设置"应用 UINavigationCon ...
- iOS程序启动过程笔记
CHENYILONG Blog 笔记 一.iOS程序的完整启动过程(有storyboard) 1.先执行main函数,main内部会调用UIApplicationMain函数 2.UIApplicat ...
最新文章
- session无法传值解决方案!
- 博客园去除文章页底部的推广链接
- date工具类 DateUtils.java
- MATLAB每个字母等宽,等宽文本文件的导入选项对象
- 海康linux 密码忘记,linux下调用海康sdk
- 桌面整理之DeskGo
- 什么是数据库?以及主流的数据库有哪些
- 中国象棋马走日(要求打印每一种走法) — 递归
- 杭州电子科技大学acm--2012
- Pycharm2018.2永久破解
- 毛星云opencv7.1之边缘检测,滤波器和步骤介绍
- 11 Tornado - 使用模板
- 反感料理包的真正原因,正在被“恶心”掩盖
- mac mini安装ubuntu系统
- 如何通过角色管理来重隐藏ALV某些字段
- 原来谷歌是这样构建 Docker 镜像的!
- hmcl电脑java我的世界启动器_hello minecraft下载
- 2016 Google hosts 持续更新【更新于:2016-06-15】
- Agora.CGI跨站脚本执行漏洞(CVE-2001-1199),该漏洞应该怎么修复呢?
- 大疆无人机+PhotoScan 来完成航拍三维模型