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
四大对象关系图