<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. 常用的scrapy setting

    原文请参考    Scrapy 爬虫入门教程十三 Settings(设置), 讲的很详细 官网参考  Settings 设置 Scrapy 设置允许您自定义所有 Scrapy 组件的行为,包括核心,扩 ...

  2. Python的hasattr() getattr() setattr() 函数使用方法(简介)

    hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False.需要注意的是name要用括号括起来 1 ...

  3. Codeforces Round #489 (Div. 2) E - Nastya and King-Shamans

    E - Nastya and King-Shamans 题目大意:有n个数,每一次操作更改一个数,每次操作之后问你是否有一个数等于其前面所有数的和. 思路:好题,想了很久没想出来,看了题解,主要思想就 ...

  4. Xcode10升级项目报错library not found for -lstdc++.6.0.9

    在升级Xcode10后运行项目会发出报了一个错“library not found for -libstdc++.6.0.9”,很简单,就是因为xocde10后这个libstd++.6.0.9库已经不 ...

  5. ref:浅谈XXE漏洞攻击与防御

    ref:https://thief.one/2017/06/20/1/ 浅谈XXE漏洞攻击与防御 发表于 2017-06-20   |   分类于 web安全  |   热度 3189 ℃ 你会挽着我 ...

  6. windows环境下模仿Linux环境发起curl请求

    1.到官网下载curl工具包 2.在curl.exe目录中使用(使用方式1) 解压下载后的压缩文件,通过cmd命令进入到curl.exe所在的目录. 由于博主使用的是windows 64位 的系统,因 ...

  7. python3 怎么统计英文文档常用词?(附解释)

    # coding: utf-8 # In[32]: #import requests #from bs4 import BeautifulSoup #res = requests.get(" ...

  8. Python导入模块-Import

    #1语法importimport module1,module2,module3,module4 #2from xx import xx 语句from module import name1,name ...

  9. Windows 消息循环(2) - WPF中的消息循环

    接上文: Windows 消息循环(1) - 概览 win32/MFC/WinForm/WPF 都依靠消息循环驱动,让程序跑起来. 本文介绍 WPF 中是如何使用消息循环来驱动程序的. 4 消息循环在 ...

  10. Am335x u-boot 启动过程中的系统频率配置

    Am335x的时钟结构分为:ADPLLS和ADPLLLJ 1.ADPLLS用来配置Core_CLK,Dispaly_clk,ARM系统CLK(mpu_clk),DDR PLLs_clk 2.ADPLL ...