標籤:
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的設定。
之後就可以用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程式
. . . . . . .
iOS開發之UIApplication