本篇本章介紹:
清鎮(zhèn)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!UIApplication對象、UIAppDelegate中的方法、App啟動過程
以及狀態(tài)欄的管理、應(yīng)用程序間跳轉(zhuǎn)等實用功能
UIApplication對象介紹
UIApplication對象是應(yīng)用程序的象征,一個UIApplication對象就代表一個應(yīng)用程序。
通過[UIApplication sharedApplication]可以獲得這個單例對象
+ (UIApplication *)sharedApplication
一個iOS程序啟動后創(chuàng)建的第一個對象就是UIApplication對象
利用UIApplication對象,能進行一些應(yīng)用級別的操作
keyWindow屬性:
@property(nonatomic, readonly) UIWindow *keyWindow //應(yīng)用程序的主窗口
Mac環(huán)境下的一個應(yīng)用是可以具有多個窗口的,正在獲得用戶操作的創(chuàng)建即為keyWindow
而iOS下的應(yīng)用只有一個窗口,就是這個keyWindow
UIView及其子類,也可以通過其屬性window獲得這個window
狀態(tài)欄上的網(wǎng)絡(luò)活動指示器控制
@property(nonatomic, getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible //狀態(tài)欄的網(wǎng)絡(luò)活動指示器
通過改變這個屬性,可以方便地控制網(wǎng)絡(luò)活動指示器的顯示(轉(zhuǎn)動的菊花)
手機桌面App圖標上的紅色數(shù)字
@property(nonatomic) NSInteger applicationIconBadgeNumber //圖標上的紅色數(shù)字
通過修改這個屬性,可以在App圖標上顯示提示數(shù)字信息,一般在消息推送的回調(diào)方法中使用
...
狀態(tài)欄的管理
自iOS7開始,提供了兩種管理狀態(tài)的方式: 控制器管理、UIApplication對象管理
控制器管理(默認)
實現(xiàn)下面的兩個方法即可輕松管理狀態(tài)欄
- (UIStatusBarStyle)preferredStatusBarStyle //狀態(tài)欄的樣式 - (BOOL)prefersStatusBarHidden //狀態(tài)欄是否隱藏
使用UIApplication管理狀態(tài)欄
1)首先修改info.plist
2)使用UIApplication單例對象的以下方法
@property(nonatomic, getter=isStatusBarHidden) BOOL statusBarHidden //狀態(tài)欄是否隱藏 - (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation @property(nonatomic) UIStatusBarStyle statusBarStyle //狀態(tài)欄樣式 - (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle animated:(BOOL)animated @property(nonatomic, readonly) CGRect statusBarFrame //狀態(tài)欄的frame
App間跳轉(zhuǎn)
UIApplication有個功能十分強大的openURL:方法
- (BOOL)openURL:(NSURL *)url
iPhone中一些自帶應(yīng)用的跳轉(zhuǎn)格式:
用來打電話:
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@”tel://10086”];
用來發(fā)短信:
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@”sms://10086”]];
用來發(fā)郵件 :
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@”mailto://123456@qq.com”]];
請求打開網(wǎng)頁:(轉(zhuǎn)到瀏覽器)
[[UIApplication sharedAplication] openURL: [NSURL URLWithString:@”http://www.baidu.com”]];
如跳轉(zhuǎn)到AppStore:
https://itunes.apple.com/us/app/zou-yi-zou-ba/idxxx?mt=8&uo=4
其中xxx是對應(yīng)App的id(在iTunnes-Connect中查詢)
UIApplication的代理
移動操作都具有致命的的缺點:
app很容被打擾,比如一個來電或鎖屏都會導(dǎo)致app進入后臺甚至被終止。
在很多其他情況會導(dǎo)致app受到干擾,在app受到干擾時,會產(chǎn)生一些系統(tǒng)事件
此時UIApplication會通知它的delegate對象,讓delegate代理來處理這些系事件。
Delegate可處理的事件包括:
應(yīng)用程序的生命周期事件(如程序啟動和關(guān)閉)、系統(tǒng)事件(如來電)、內(nèi)存警告…
每次新建完項目,都帶個帶有”AppDelegate”類,它就是UIApplication的代理。
該類默認已經(jīng)遵守了UIApplicationDelegate協(xié)議,已經(jīng)是UIApplication的代理。
App啟動過程
1)main函數(shù)中執(zhí)行了一個UIApplicationMain這個函數(shù)
int UIApplicationMain ( int argc, char *argv[], NSString *principalClassName,NSString *delegateClassName );
該函數(shù)接收了: 命令行參數(shù) 、UIApplication子類名 、UIApplication代理類名
2)UIApplicationMain函數(shù)會根據(jù)principalClassName創(chuàng)建 UIApplication對象,根據(jù)delegateClassName創(chuàng)建一個delegate對象,并將該delegate對象賦值給 UIApplication對象中的delegate屬性
3)接著會建立應(yīng)用程序的Main Runloop(事件循環(huán)),進行事件的處理(首先會在程序完畢后調(diào)用delegate對象的application:didFinishLaunchingWithOptions:方法)
4)程序正常退出時UIApplicationMain函數(shù)才返回
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當前題目:UIKit框架(7)應(yīng)用程序?qū)ο骍IApplication-創(chuàng)新互聯(lián)
文章位置:http://aaarwkj.com/article48/ccjpep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、建站公司、App設(shè)計、標簽優(yōu)化、電子商務(wù)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容