iOS:UIApplication和它对象的代理

简介:
<1>UIApplication的对象是单例对象   类方法:UIApplication *app = [UIApplication sharedAppplication]
<2>UIScreen的对象是单例对象         类方法:UIScreen *screen = [UIScreen mainScreen]
    UIApplication的代理的协议的一些操作:
   
     启动应用程序,代理帮助实现的程序状态的转换
  
 
UIApplication 应用程序对象的常用设置
 (1)设置应用程序图标右上角的红色提醒数字(如QQ消息的时候,图标上面会显示1,2,3条新信息等) Badge
     @property(nonatomic) NSInteger applicationIconBadgeNumber;
 
 (2)设置联网指示器的可见性
          @property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;
 
(3)说明:其实状态栏的管理,每一个单独的视图控制器可以管理,也可以让唯一的UIApplication的对象统一管理。
方式一:app统一管理:
    
        状态栏的样式    -(UIStatusBarStyle)preferredStatusBarStyle; 
                  app.statusBarStyle=UIStatusBarStyleDefault;//默认(黑色)
 
        状态栏的可见性   -(BOOL)prefersStatusBarHidden
                        app.statusBarHidden=YES //隐藏
 
方式二:每一个视图控制器单独管理:
 //隐藏状态栏

-(BOOL)prefersStatusBarHidden

{

return NO;

}

//设置状态栏的样式

-(UIStatusBarStyle)preferredStatusBarStyle

{

      return UIStatusBarStyleLightContent;

}

 

 
  (4)UIApplication有个功能十分强大的openURL:方法
 
URL:统一资源定位符,用来唯一的表示一个资源。
URL格式:协议头://主机地址/资源路径

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

 -openURL:方法的部分功能有 
打电话   [app openURL:[NSURLURLWithString:@"tel://10086"]]; 
发短信  [app openURL:[NSURLURLWithString:@"sms://10086"]]; 
发邮件  [app openURL:[NSURLURLWithString:@"mailto://12345@qq.com"]]; 
打开一个网页资源 [app openURL:[NSURLURLWithString:@"http://www.baidu.com"]]; 
        

    以下是代码的具体体现:

复制代码
 1 #import "ViewController.h"
 2 
 3 @interface ViewController ()
 4 
 5 @end
 6 
 7 @implementation ViewController
 8 
 9 - (void)viewDidLoad {
10     [super viewDidLoad];
11     // Do any additional setup after loading the view, typically from a nib.
12     [self.view setBackgroundColor:[UIColor blackColor]];
13 }
14 
15 - (void)didReceiveMemoryWarning {
16     [super didReceiveMemoryWarning];
17     // Dispose of any resources that can be recreated.
18 }
19 //每一个视图控制器单独控制自己的状态栏
20 //隐藏状态栏
21 -(BOOL)prefersStatusBarHidden
22 {
23     return NO;
24 }
25 
26 //设置状态栏的样式
27 -(UIStatusBarStyle)preferredStatusBarStyle
28 {
29     return UIStatusBarStyleLightContent;
30 }
31 @end
复制代码

   Application对象完成的各种功能:

复制代码
 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 2     // Override point for customization after application launch.
 3     
 4     //在iOS8中,必须经过用户允许才能设置badge/alert/sound
 5     UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge |UIUserNotificationTypeAlert | UIUserNotificationTypeSound categories:nil];
 6     
 7     UIApplication *app = [UIApplication sharedApplication];
 8     [app registerUserNotificationSettings:setting];
 9     
10     //设置应用程序图标上显示的提醒数字
11     app.applicationIconBadgeNumber = 10;
12     
13     //设置联网指示器的可见性(默认是NO)
14     app.networkActivityIndicatorVisible = YES;
15     
16     //设置状态栏的样式
17     app.statusBarStyle = UIStatusBarStyleLightContent;
18     
19     //隐藏状态栏
20     app.statusBarHidden = NO;
21     
22     //openURL功能(URL统一资源定位符)
23     //1.打电话
24     [app openURL:[NSURL URLWithString:@"tel://10086"]];
25     
26     //2.发短信
27     [app openURL:[NSURL URLWithString:@"sms://10086"]];
28     
29     //3.发邮件
30     [app openURL:[NSURL URLWithString:@"mailto://1360074459@qq.com"]];
31     
32     //4.打开网络资源
33     [app openURL:[NSURL URLWithString:@"http://www.baidu.com"]];
34     
35     //5.打开其他的应用程序
36     [app openURL:[NSURL URLWithString:@"prefs:"]];
37     
38     return YES;
39 }
复制代码

 

 

 

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!


本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4797670.html,如需转载请自行联系原作者
目录
相关文章
|
11月前
|
机器学习/深度学习 API iOS开发
iOS MachineLearning 系列(17)—— 几个常用的对象识别 CoreML 模型
上一篇文章中,我们介绍了几个官方的图片分类的模型,图片分类模型的应用场景在于将图片中最主要的事物进行识别,在已有的词库中找到最可能得事物。而对象识别则要更高级一些。再之前的文章,我们介绍过可以使用官方提供的API来进行矩形识别,文本识别,二维码识别以及人脸识别等,这类识别功能的特点是我们不仅可以将图片中的物体位置和尺寸分析出来,还可以对其进行类别的分类。
248 0
|
iOS开发
iOS代理 通知 block传值的规范写法
iOS代理 通知 block传值的规范写法
116 0
|
存储 Unix 编译器
|
存储 API iOS开发
苹果手机iOS如何使用http代理
我们使用苹果手机访问网络时,有时候需要配置代理服务器。下面就来介绍一下。
苹果手机iOS如何使用http代理
|
移动开发 iOS开发
ios 使用钉钉嵌入的h5 formData无法正常使用 得到的对象结构是 Object{appendData : ..., realFormData : ...}
<script src="XXXXXX/formdata.min.js"></script> 通过引入外部formData也没办法解决 "formdata-polyfill": "^4.0.10", 安装了以上依赖包也没有办法解决 在提交前可以通过FormData。get拿到数据,但是发送请求的时候,后端没办法解决 希望哪位大佬可以提供一下帮助
|
存储 算法 C语言
iOS底层原理:OC对象底层探索之开辟内存(二)
简介: 在上篇文章iOS底层原理(二):OC对象底层探索之alloc初探 中,我们体验了 objc 底层源码的调试流程,也介绍了一部分 [JQPerson alloc] 在底层的工作流程,最终在callAlloc中走到了_objc_rootAllocWithZone方法。那么今天我们就来继续探索_objc_rootAllocWithZone方法之后的流程吧!
iOS底层原理:OC对象底层探索之开辟内存(二)
|
存储 缓存 iOS开发
iOS底层原理:OC对象底层探索之alloc初探(二)
简介: iOS开发的小伙伴们对 [XXX alloc] init] 都不陌生,可以说 alloc 和 init 贯穿我们整个的开发过程中。那么在OC对象的底层,到底做了哪些操作呢?今天我们就来探索一下 alloc 底层的工作流程。
iOS底层原理:OC对象底层探索之alloc初探(二)
|
存储 算法 安全
iOS底层原理:OC对象底层探索之开辟内存(一)
在上篇文章iOS底层原理(二):OC对象底层探索之alloc初探 中,我们体验了 objc 底层源码的调试流程,也介绍了一部分 [JQPerson alloc] 在底层的工作流程,最终在callAlloc中走到了_objc_rootAllocWithZone方法。那么今天我们就来继续探索_objc_rootAllocWithZone方法之后的流程吧!
iOS底层原理:OC对象底层探索之开辟内存(一)
|
iOS开发
iOS底层原理:OC对象底层探索之alloc初探(一)
iOS开发的小伙伴们对 [XXX alloc] init] 都不陌生,可以说 alloc 和 init 贯穿我们整个的开发过程中。那么在OC对象的底层,到底做了哪些操作呢?今天我们就来探索一下 alloc 底层的工作流程。
iOS底层原理:OC对象底层探索之alloc初探(一)