ios程序启动过程和UIWidnow介绍

本文详细介绍了iOS应用从main函数开始的启动过程,包括创建UIApplication对象、初始化代理对象、消息循环的建立、UIWindow的创建与配置,以及通过storyboard加载视图控制器等内容。

一、iOS程序的完整启动过程(有storyboard

1.先执行main函数,main内部会调用UIApplicationMain函数

 

2.UIApplicationMain函数里面做了什么事情:

1> 创建UIApplication对象

2> 创建UIApplicationdelegate对象-----MJAppDelegate

3> 开启一个消息循环

* 每监听到对应的系统事件时,就会通知MJAppDelegate

4> 为应用程序创建一个UIWindow对象(继承自UIView),设置为MJAppDelegatewindow属性

5> 加载Info.plist文件,读取最主要storyboard文件的名称

6> 加载最主要的storyboard文件,创建白色箭头所指的控制器对象

7> 并且设置第6步创建的控制器为UIWindowrootViewController属性(根控制器)

8> 展示UIWindow,展示之前会将添加rootViewControllerviewUIWindow上面(在这一步才会创建控制器的view

[window addSubview: window.rootViewControler.view];

 

二、UIWidnow

1.常见方法

1> 成为主窗口:[window makeKeyWindow];

2> 显示、并且成为主窗口:[window makeKeyAndVisible];

3> 仅仅是显示窗口:window.hidden = NO;

 

2.主窗口

1> 一个iOS app只能有一个主窗口(keyWindow),只有keyWindow才能接受文本框的输入事件

2> 如何访问主窗口: [UIApplication sharedApplication].keyWindow

3>app中所有的窗口: [UIApplication sharedApplication].windows

 

4.屏幕的旋转事件

1> 当屏幕旋转,UIApplication对象接受到旋转事件,接着会通知keyWindow

2> 最终,旋转事件传递到UIWidnow身上,UIWindow会通知rootViewControlerrootViewControler自己会决定要不要做相应的旋转操作

转载于:https://www.cnblogs.com/anywherego/p/3542218.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值