天天看點

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程式

. . . . . . .

繼續閱讀