学习IOS开发UI篇--程序启动原理

  ios程序启动过程

  UIApplication:

1.每一个应用都有自己的UIApplication对象,而且是单例的,通过[UIApplication sharedApplication]可以获得这个单例对象.
2.UIApplication的常用属性:

@property(nonatomic) NSInteger applicationIconBadgeNumber;

@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;

3.UIApplication的常用方法:

UIApplication *app = [UIApplication sharedApplication];

可以控制状态栏的样式,是否显示(需要修改系统Info.pliast文件),UIViewController可以操作

[app openURL:[NSURL URLWithString:@"tel://10086"]];电话  @"sms://10086" 短信 @"mailto://12345@qq.com" 邮件 :@"http://ios.itcast.cn" 网页

  UIWindow:

1常用方法:

- (void)makeKeyWindow;

让当前UIWindow变成keyWindow(主窗口)

- (void)makeKeyAndVisible;

让当前UIWindow变成keyWindow,并显示出来 [UIApplication sharedApplication].windows,在本应用中打开的UIWindow列表,这样就可以接触应用中的任何一个UIView对象(平时输入文字弹出的键盘,就处在一个新的UIWindow中)

[UIApplication sharedApplication].keyWindow,用来接收键盘以及非触摸类的消息事件的UIWindow,而且程序中每个时刻只能有一个UIWindow是keyWindow。如果某个UIWindow内部的文本框不能输入文字,可能是因为这个UIWindow不是keyWindow
 
四大对象关系图
 

  

原文地址:https://www.cnblogs.com/zhaoyan/p/3775460.html