码迷,mamicode.com
首页 > 移动开发 > 详细

UIApplication

时间:2016-08-17 01:25:32      阅读:251      评论:0      收藏:1      [点我收藏+]

标签:

  1、UIApplication 是 iPhone 应用程序的开始并且负责初始化并显示 UIWindow,并负责加载应用程序的第一个 UIView 到 UIWindow 窗体中。

  UIApplication 的另一个任务是帮助管理应用程序的生命周期,而 UIApplication 通过一个名字为 UIApplicationDelegate 的代理类来履行这个任务。

  尽管 UIApplication 会负责接收事件,而 UIApplicationDelegate 则决定应用程序如何去响应这些事件,UIApplicationDelegate 可以处理的事件包括应用程序的生命周期事件(比如程序启动和关闭)、系统事件(比如来电、记事项警 告)。

  Application 是一个单例对象

  iOS程序创建的第一个对象就是UIApplication对象

  通过[UIApplication sharedApplication]可以获得这个单例对象

技术分享

技术分享

 

2、默认创建一个single模板时,系统自动创建了一个UIApplication的对象

技术分享

 

这里的nil其实是@"UIApplication",在UIApplicationMain中,同时又设置了application的代理:@"AppDelegate"

 // argc:系统传入参数的个数
 // argv:系统传入参数的值的列表
 // principalClassName:传入主要的类名
 // 第四个参数表示:给应用程序"application"指定一个代理对象
 return UIApplicationMain(argc, argv, @"UIApplication", @"AppDelegate");

 

应用程序启动之后,先创建Application,再创建它的代理AppDelegate,之后创建UIwindow,再创建控制器,创建控制器的view,然后将控制器的view添加到UIWindow上。

 

3.UIApplication常用属性:

1-applicationIconBadgeNumber设置应用图标右上角的提示数字

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    UIApplication *app = [UIApplication sharedApplication];
    
    /**
     iOS8.0之后通知消息要进行注册
     set to 0 to hide. default is 0. In iOS 8.0 and later, your application must register for user notifications using -[UIApplication registerUserNotificationSettings:] before being able to set the icon badge.
     */
    if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0){
        //注册
        UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
                                               
        [app registerUserNotificationSettings:setting];
    }
    app.applicationIconBadgeNumber = 20;
    
}

技术分享

 

2-设置应用联网状态

@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible __TVOS_PROHIBITED; // showing network spinning gear in status bar. default is NO

 

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    UIApplication *app = [UIApplication sharedApplication];
    
    app.networkActivityIndicatorVisible = YES;
}

技术分享

 

4、常用方法

打开URL

- (BOOL)openURL:(NSURL*)url NS_EXTENSION_UNAVAILABLE_IOS("");

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    UIApplication *app = [UIApplication sharedApplication];
    
    NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
    [app openURL:url];
}

技术分享

 

UIApplication

标签:

原文地址:http://www.cnblogs.com/wang-biao/p/5778282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!