<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"]]; 
        

    以下是代码的具体体现:

 #import "ViewController.h"

 @interface ViewController ()

 @end

 @implementation ViewController

 - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self.view setBackgroundColor:[UIColor blackColor]];
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
//每一个视图控制器单独控制自己的状态栏
//隐藏状态栏
-(BOOL)prefersStatusBarHidden
{
return NO;
} //设置状态栏的样式
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
@end

   Application对象完成的各种功能:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch. //在iOS8中,必须经过用户允许才能设置badge/alert/sound
UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge |UIUserNotificationTypeAlert | UIUserNotificationTypeSound categories:nil]; UIApplication *app = [UIApplication sharedApplication];
[app registerUserNotificationSettings:setting]; //设置应用程序图标上显示的提醒数字
app.applicationIconBadgeNumber = ; //设置联网指示器的可见性(默认是NO)
app.networkActivityIndicatorVisible = YES; //设置状态栏的样式
app.statusBarStyle = UIStatusBarStyleLightContent; //隐藏状态栏
app.statusBarHidden = NO; //openURL功能(URL统一资源定位符)
//1.打电话
[app openURL:[NSURL URLWithString:@"tel://10086"]]; //2.发短信
[app openURL:[NSURL URLWithString:@"sms://10086"]]; //3.发邮件
[app openURL:[NSURL URLWithString:@"mailto://1360074459@qq.com"]]; //4.打开网络资源
[app openURL:[NSURL URLWithString:@"http://www.baidu.com"]]; //5.打开其他的应用程序
[app openURL:[NSURL URLWithString:@"prefs:"]]; return YES;
}

iOS:UIApplication和它对象的代理的更多相关文章

  1. iOS UIApplication sharedapplication用法

    应用中打开其他应用 我们来讨论一下,在iOS开发中,如何实现从app1打开app2. 基本的思路就是,可以为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中,可以传送一 ...

  2. iOS数据存储之对象归档

    iOS数据存储之对象归档 对象归档 对象归档是iOS中数据持久化的一种方式. 归档是指另一种形式的序列化,但它是任何对象都可以实现的更常规的类型.使用对模型对象进行归档的技术可以轻松将复杂的对象写入文 ...

  3. 作为UIApplication单例对象的方法 openURL方法的变化

    作为UIApplication单例对象的方法 openURL: 在iOS开发中经常用来实现在当前应用打开外部链接的需求比如跳转到其他应用,跳转应用隐私设置界面;还有相关API canOpenURL:  ...

  4. NSNotification,NSNotificationCenter的使用、iOS中五种对象间传值的方式

    学习内容 NSNitification与NotificationCenter(通知与通知中心) 通知的使用 [[NSNotificationCenter defaultCenter]addObserv ...

  5. 【iOS [[UIApplication sharedApplication] delegate]】运用

    之前想要拿到app的窗口,我们通常的写法是: [UIApplication sharedApplication].keyWindow 这种写法之前一直也觉得是正确的,没什么问题,而且网上大多数的博客或 ...

  6. IOS开发之类和对象

    IOS开发之类和对象 OC和Java一样都是一种面向对象的语言,从今天開始我和大家一起来系统学习这样的面向对象的语言oc,欢迎大家什么问题和我一起探讨和学习. OC定义类有两个步骤:1.接口部分(通俗 ...

  7. 使用wsimport生成不带JAXBElement对象的代理

    如果想使用wsimport生成不带JAXBElement对象的代理,则可以使用jaxws/jaxb绑定文件,如文件命名为binding.txt,内容如 <jaxb:bindings versio ...

  8. iOS 10.3下解决Fiddler代理抓包ssl证书信任问题

    iPhone系统更新到iOS 10.3以后,设置fiddler代理抓包,会出现无法抓取https请求,app请求失败的问题 这是因为在iOS 10.3之前,当你将安装fiddler的自定义证书后,iO ...

  9. UIApplication对象及其代理UIApplicationDelegate[转]

    在开发过程中我们需要一些全局对象来将程序的各个部分连接起来,这些全局对象中最重要的就是UIApplication对象.但在实际编程中我们并不直接和UIApplication对象打交道,而是和其代理打交 ...

随机推荐

  1. 【BZOJ 4031】 4031: [HEOI2015]小Z的房间 (Matrix-Tree Theorem)

    4031: [HEOI2015]小Z的房间 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1089  Solved: 533 Description ...

  2. 【BZOJ 1923】1923: [Sdoi2010]外星千足虫 (高斯消元异或 | BITSET用法)

    1923: [Sdoi2010]外星千足虫 Description Input 第一行是两个正整数 N, M. 接下来 M行,按顺序给出 Charles 这M次使用“点足机”的统计结果.每行 包含一个 ...

  3. 51Nod1140 矩阵相乘的结果

    随机化算法. A*B==C那么X*A*B==X*C 降到了n*n复杂度. 多次随机X判断即可. By:大奕哥 #include<bits/stdc++.h> using namespace ...

  4. [BZOJ4890][TJOI2017]城市(DP)

    题目描述 从加里敦大学城市规划专业毕业的小明来到了一个地区城市规划局工作.这个地区一共有ri座城市,<-1条高速公路,保证了任意两运城市之间都可以通过高速公路相互可达,但是通过一条高速公路需要收 ...

  5. 【BFS】【枚举】HihoCoder - 1251 - The 2015 ACM-ICPC Asia Beijing Regional Contest - C - Today Is a Rainy Day

    题意:给你两个只由1~6组成的串,问你B串至少要经过几次操作变成A串. 一次操作要么选择一个种类的数,将其全部变成另一种类:要么选择一个数,将其变为另一个数. 可以证明,一定先进行一定数量的第一种操作 ...

  6. 谈HTTPS中间人攻击与证书校验(一)

    一.前言 随着安全的普及,https通信应用越发广泛,但是由于对https不熟悉导致开发人员频繁错误的使用https,例如最常见的是未校验https证书从而导致“中间人攻击”,并且由于修复方案也一直是 ...

  7. hdu 1561 树形dp+分组背包

    题意:就是给定n个点,每个地点有value[i]的宝物,而且有的宝物必须是另一个宝物取了才能取,问取m个点可以获得的最多宝物价值. 一个子节点就可以返回m个状态,每个状态表示容量为j(j<=m) ...

  8. @SuppressWarning 抑制警告注解

    @SuppressWarning 抑制警告注解 Java.lang.SuppressWarnings 是 J2SE5.0中标准的Annotation 之一. 可以标注在类,字段,方法,参数,构造方法, ...

  9. bzoj 1007 半交平面简化版

    本题就是求半交平面的交包含哪些直线,而且有点特殊(一般的半交平面用双端队列,因为可能转到最开始的直线,但本题不会,所以只需要一端操作就行了). /*************************** ...

  10. bzoj 2056: gift? 高精度?

    2056: gift? 高精度? Time Limit: 10 Sec  Memory Limit: 1 MB Description   Input 输入的第一行为一个整数t. 接下来t行,每行包含 ...