天天看点

iOS开发之UIApplication

1、概述

uiapplication对象是应用程序的象征。每一个应用都有自己的uiapplication对象,而且是单例(只能有一个对象,我们不能去创建新对象,只能获取这个对象)的。通过[uiapplication sharedapplication]可以获得这个单例对象。一个ios程序启动后创建的第一个对象就是uiapplication对象。利用uiapplication对象,能进行一些应用级别的操作。

2、uiapplication的常用属性

1、设置应用程序图标右上角的红色提醒数字

@property(nonatomic) nsinteger applicationiconbadgenumber;

2、设置联网指示器的可见性

@property(nonatomic,getter=isnetworkactivityindicatorvisible) bool networkactivityindicatorvisible;

3、ios7中的状态栏

1、状态栏的管理

从ios7开始,系统提供了2种管理状态栏的方式:

第一种:

通过uiviewcontroller管理(每一个uiviewcontroller都可以拥有自己不同的状态栏)。

第二种:

通过uiapplication管理(一个应用程序的状态栏都由它统一管理)。

利用uiviewcontroller来管理状态栏:

在ios7中,默认情况下,状态栏都是由uiviewcontroller管理的,uiviewcontroller实现下列方法就可以轻松管理状态栏的可见性和样式:

(1)状态栏的样式

- (uistatusbarstyle)preferredstatusbarstyle;

(2)状态栏的可见性

- (bool)prefersstatusbarhidden;

利用uiapplication来管理状态栏

利用uiapplication来管理状态栏:

如果想利用uiapplication来管理状态栏,首先得修改info.plist的设置。

iOS开发之UIApplication

之后就可以用uiapplication来管理状态栏了:

比如:使用一个淡出动画效果隐藏状态栏:

[app setstatusbarhidden:yes withanimation:uista tusbaranimationfade];

设置状态栏的风格为白色:

app.statusbarstyle = uistatusbarstylelightcontent;

隐藏状态栏:

app.statusbarhidden = yes;

2、openurl

uiapplication有个功能十分强大的openurl:方法

- (bool)openurl:(nsurl*)url;

openurl:方法的部分功能:

(1)打电话

uiapplication *app = [uiapplication sharedapplication];

[app openurl:[nsurl urlwithstring:@"tel://10086"]];

(2)发短信

[app openurl:[nsurl urlwithstring:@"sms://10086"]];

(3)发邮件

[app openurl:[nsurl urlwithstring:@"mailto://[email protected]"]];

(4)打开一个网页资源(自动跳转到浏览器打开)

[app openurl:[nsurl urlwithstring:@"http://ios.itcast.cn"]];

(5)打开其他app程序

. . . . . . .