第二十八篇:程序启动原理
来源:互联网 发布:清楚手机缓存数据 编辑:程序博客网 时间:2024/04/30 07:55
1.Info.plist常见的设置
2.pch文件
#ifdef DEBUG
#define Log(...)NSLog(__VA_ARGS__)
#else
#define Log(...) /**/
#endif
3.UIApplication:
》什么是UIApplication
@property(nonatomic)NSIntegerapplicationIconBadgeNumber;
@property(nonatomic,getter=isNetworkActivityIndicatorVisible)BOOLnetworkActivityIndicatorVisible;
4. iOS7中的状态栏
- (UIStatusBarStyle)preferredStatusBarStyle;
- (BOOL)prefersStatusBarHidden;
》利用UIApplication来管理状态栏》openURL:
- (BOOL)openURL:(NSURL*)url;
UIApplication *app= [UIApplicationsharedApplication];
[app openURL:[NSURLURLWithString:@"tel://10086"]];
[app openURL:[NSURLURLWithString:@"sms://10086"]];
[app openURL:[NSURLURLWithString:@"mailto://12345@qq.com"]];
[app openURL:[NSURLURLWithString:@"http://ios.itcast.cn"]];
// app接收到内存警告时调用
-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application;
// app进入后台时调用(比如按了home键)
-(void)applicationDidEnterBackground:(UIApplication *)application;
//app启动完毕时调用
-(BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
6.程序启动的完整过程
(1).main函数
(2.)UIApplicationMain
* 创建UIApplication对象
* 创建UIApplication的delegate对象
(3)没有storyboard时:
.delegate对象开始处理(监听)系统事件
* 程序启动完毕的时候,就会调用代理的application:didFinishLaunchingWithOptions:方法
* 在application:didFinishLaunchingWithOptions:中创建UIWindow
* 创建和设置UIWindow的rootViewController
* 显示窗口
(3)有storyboard时:
.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard
* 创建UIWindow
* 创建和设置UIWindow的rootViewController
* 显示窗口
(4)UIApplicationMain
直接将view添加到UIWindow中,但并不会理会view对应的UIViewController
自动将rootViewController的view添加到UIWindow中,负责管理rootViewController的生命周期
让当前UIWindow变成keyWindow(主窗口)
让当前UIWindow变成keyWindow,并显示出来
在本应用中打开的UIWindow列表,这样就可以接触应用中的任何一个UIView对象
(平时输入文字弹出的键盘,就处在一个新的UIWindow中)
用来接收键盘以及非触摸类的消息事件的UIWindow,而且程序中每个时刻只能有一个UIWindow是keyWindow。如果某个UIWindow内部的文本框不能输入文字,可能是因为这个UIWindow不是keyWindow
获得某个UIView所在的UIWindow
- 第二十八篇:程序启动原理
- 第二十八篇: 学习笔记
- 第二十八篇:JAVA观感器
- iosUI篇程序启动原理和UIApplication
- 程序启动原理
- ios程序启动原理
- iOS程序启动原理
- iOS程序启动原理
- 程序启动原理
- No1 程序启动原理
- 程序启动原理
- IOS程序启动原理
- 程序启动原理
- iOS程序启动原理
- iOS-程序启动原理
- iOS程序启动原理
- iOS程序启动原理
- iOS程序启动原理
- CYC-AVPlayer播放器的简单运用-02
- STL源码学习----lower_bound和upper_bound算法
- VS2010播放AVI视频时一闪而过的解决办法
- HDU 4810 Wall Painting(组合数学)
- http://www.java3z.com/cwbwebhome/article/article8/81105.html?id=2503
- 第二十八篇:程序启动原理
- Ubuntu文件和目录管理基础
- CComboBox控件的使用 1
- DLUTOJ 1330 GCD 【莫比乌斯反演+组合】
- Linux 使用位置变量向脚本传递参数
- Android任务流调度 - Init
- iOS编程--------UIImagePickerController
- 批量插入数据 C# SqlBulkCopy使用
- orecle virtual box geneymotion无法开启问题