UIApplication的簡介:ios
UIApplication對象是應用程序的象徵.網絡
每個應用都有本身的UIApplication對象,並且是單例.app
經過[UIApplication sharedApplication]能夠獲取這個單例對象ide
利用UIApplication對象,能夠進行一些應用級別的操做動畫
UIApplication的應用:spa
設置應用圖標上顯示的消息數:.net
UIApplication *app = [UIApplication sharedApplication];3d
app.applicationIconBadgeNumber = 5;code
// 可是若是是IOS8這樣寫還不夠,還須要註冊權限orm
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil]; [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; //這樣以後,在執行上面圖標上顯示消息個數的代碼.(並且這個註冊的代碼只須要一次就夠了,若是刪除改註冊的代碼,下次直接使用i.中的代碼便可)
設置聯網狀態:
app.networkActivityIndicatorVisible = YES;//當進行網絡鏈接時,會出現"菊花"標識.
訪問資源:
[app openURL:[NSURL URLWithString:@"tel://10086"]]; //打電話(模擬器不能捉) [app openURL:[NSURL URLWithString:@"sms://10086"]];//發短信 [app openURL:[NSURL URLWithString:@"mailto://123456@qq.com"]];//發郵件 [app openURL:[NSURL URLWithString:@"http://www.baidu.com"]];//打開網頁資源 [app openURL:[NSURL URLWithString:@"其餘程序的資源路徑"]];//打開其餘應用
改變狀態欄:
//控制狀態欄(ios7之後控制狀態欄的工做默認交給控制器去作,而不是UIApplication) //只寫下面兩句沒有效果.(必須在Info.plist文件裏面配置一下--設置View controller-based status bar appearance的值爲NO) //對狀態欄的改變能夠實現動畫效果,可是控制器作不到 //app.statusBarHidden = YES; [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; app.statusBarStyle = UIStatusBarStyleLightContent; //下面是利用控制器來改變狀態欄(沒有利用UIApplication靈活,直接在controller中實現便可) /* -(BOOL)prefersStatusBarHidden{ return YES; } -(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; }*/