首页 > 代码库 > iOS UIApplicatin和它的delegate

iOS UIApplicatin和它的delegate

每一个UIApplication代表一个应运程序,而且UIApplication是个单例类;

ios程序一旦启动,创建的第一个对象就是UIApplication对象;
 
 // 拿到UIApplication对象 *******************
    
UIApplication *appliction = [UIApplication sharedApplication];

    
// 1:设置应用程序图标右上角的红色提醒数字**********************
    appliction.
applicationIconBadgeNumber = 998;
    
    
// 2:设置联网指示器的可见性 *********************************
    appliction.
networkActivityIndicatorVisible = YES;
    
    
/** 3:状态栏样式 状态栏的隐藏、显示 *****************************
        3.1:
控制器管理:
            
样式:- (UIStatusBarStyle)preferredStatusBarStyle;
            
可见性:- (BOOL)prefersStatusBarHidden;
        3.2:
application统一管理 一次设置 整个程序都一样的状态栏
            
好处:一次性管理 可添加动画效果
            *
:如果想利用UIApplication来管理状态栏,首先得修改Info.plist的设置
     */

    
// 样式
    appliction.
statusBarStyle = UIStatusBarStyleLightContent;
    
// 可见性 带动画
    [appliction 
setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
    
    
/* 4:设置openUrl ************************************
     
打电话
     UIApplication *app = [UIApplication sharedApplication];
     [app openURL:[NSURL URLWithString:@"tel://10086"]];
     
     
发短信
     [app openURL:[NSURL URLWithString:@"sms://10086"]];
     
     
发邮件
     [app openURL:[NSURL URLWithString:@"mailto://12345@qq.com"]];
     
     
打开一个网页资源
     [app openURL:[NSURL URLWithString:@"http://ios.itcast.cn"]];
     
     
打开其他app程序 ....
     */
 =================================UIApplication的delegate===============
UIApplication的delegate 
在app受到干扰时,会产生一些系统事件,这时UIApplication会通知它的delegate对象,让delegate代理来处理这些系统事件
每次新建一个ios程序时,xcode会自动生成一个delegate类作为UIApplication的delegate
里边的主要方法来处理一下事件
 1 /*
 2  *程序启动完毕时调用的方法 系统自动调用
 3  */
 4 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 5 {
 6     // Override point for customization after application launch.
 7     return YES;
 8 }
 9 
10 /*
11  * 即将失去焦点,不可交互的时候 调用这个方法
12  */
13 
14 - (void)applicationWillResignActive:(UIApplication *)application
15 {
16     
17 }
18 
19 
20 /*
21  * 应运程序进入后台的时候调用 一般在该方法中保存当前的程序的状态
22  */
23 - (void)applicationDidEnterBackground:(UIApplication *)application
24 {
25     
26 }
27 
28 
29 /*
30  * 应运程序进入前台的时候调用  对保存的数据重新加载
31  */
32 - (void)applicationWillEnterForeground:(UIApplication *)application
33 {
34     
35 }
36 
37 
38 /*
39  * 重新获取焦点 能够和用户交互
40  */
41 - (void)applicationDidBecomeActive:(UIApplication *)application
42 {
43 
44 }
45 
46 
47 /*
48  * 应运程序即将被销毁的时候 会调用该方法 如果应运程序处于挂起状态的时候 无法调用该方法
49  */
50 - (void)applicationWillTerminate:(UIApplication *)application
51 {
52     
53 }
54 
55 /*
56  * 应运程序内存警告方法
57  * 一般在该方法中释放不需要的内存
58  */
59 - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
60 {
61 
62 }