IOS 中UIApplication詳解及實(shí)例
IOS 中UIApplication詳解及實(shí)例
以前剛學(xué)iPhone開發(fā)時(shí),覺得UIApplication這個(gè)東西特NB,特神秘,比如它居然能打開一個(gè)URL,而且還是用一個(gè)很神秘的方法得到實(shí)例:
[UIApplication sharedApplication]
它對(duì)我的神秘感一直保持到今天下午。今天下午負(fù)責(zé)UI設(shè)計(jì)的同事在設(shè)計(jì),我沒有素材,比較清閑,于是發(fā)個(gè)狠,專門看了一下UIApplication這個(gè)類。果然是難者不會(huì),會(huì)者不難,看完之后,這個(gè)類的神秘感一下子沒了。下面讓我來揭開它的神秘面紗。
UIApplication,顧名思義,代表的是整個(gè)應(yīng)用做的事,因此每個(gè)程序只能有一個(gè),系統(tǒng)使用的是單例模式,就是上面的[UIApplication sharedApplication]來得到一個(gè)實(shí)例。這個(gè)單例實(shí)例是在系統(tǒng)啟動(dòng)時(shí)由main函數(shù)里面的UIApplicationMain方法生成,就是每個(gè)程序里都有的AppDelegate,它實(shí)現(xiàn)了UIApplicationDelegate的Protocol,也就是AppDelegate的一個(gè)實(shí)例。每次通過[UIApplication sharedApplication]調(diào)用的就是它。
UIApplication在程序里的角色:它保存一個(gè)UIWindow對(duì)象序列,用來快速恢復(fù)views。它還有很多作用,不過我也不大清楚了。
下面來看看我們能用它來干什么:
一、遠(yuǎn)程提醒,就是push notification注冊(cè);
二、可以連接到UIUndoManager;
三、檢查能否打開某個(gè)URL,并且打開URL;這個(gè)功能可以配合應(yīng)用的自定義URL功能,來檢測(cè)是否安裝了某個(gè)應(yīng)用。比如檢測(cè)是否安裝了淘寶的應(yīng)用,可以用下面的代碼:
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"taobao://item.taobao.com/item.htm?id=12688928896"]]; // 判斷當(dāng)前系統(tǒng)是否有安裝淘寶客戶端 if ([[UIApplication sharedApplication] canOpenURL:url]) { // 如果已經(jīng)安裝淘寶客戶端,就使用客戶端打開鏈接 [[UIApplication sharedApplication] openURL:url]; }
四、注冊(cè)Local Notification;
五、在后臺(tái)運(yùn)行以及從后臺(tái)轉(zhuǎn)為前臺(tái)時(shí)的操作;
六、防止屏幕睡眠:
[[UIApplication sharedApplication].idleTimerDisabled=YES;
七、手動(dòng)調(diào)整status bar的位置和狀態(tài),如設(shè)置為豎屏、橫屏等;
八、設(shè)置badge number,就是圖標(biāo)右上角的數(shù)字;
九、每當(dāng)應(yīng)用聯(lián)網(wǎng)時(shí),在狀態(tài)欄上會(huì)顯示聯(lián)網(wǎng)小菊花。UIApplication可以設(shè)置是否出現(xiàn)。
十。。。還有一些應(yīng)用,不過那些更不常用,而且我也看不太懂。就寫到這里吧。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
關(guān)于iOS自帶九宮格拼音鍵盤和Emoji表情之間的一些坑
這篇文章主要給大家介紹了關(guān)于iOS自帶九宮格拼音鍵盤和Emoji表情之間的一些坑文中通過示例代碼介紹的非常詳細(xì),對(duì)各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05iOS開發(fā)之UIKeyboardTypeNumberPad數(shù)字鍵盤自定義按鍵
這篇文章主要介紹了iOS開發(fā)之UIKeyboardTypeNumberPad數(shù)字鍵盤自定義按鍵 的相關(guān)資料,需要的朋友可以參考下2016-08-08總結(jié)iOS App開發(fā)中控制屏幕旋轉(zhuǎn)的幾種方式
這篇文章主要介紹了iOS app開發(fā)中控制屏幕旋轉(zhuǎn)的方法總結(jié),分為自動(dòng)旋轉(zhuǎn)和手動(dòng)旋轉(zhuǎn)以及強(qiáng)制旋轉(zhuǎn)三種情況,代碼為Objective-C語言,需要的朋友可以參考下2016-02-02IOS倒計(jì)時(shí)設(shè)置UIButton標(biāo)題title的抖動(dòng)問題
這篇文章主要介紹了IOS倒計(jì)時(shí)設(shè)置UIButton標(biāo)題title的抖動(dòng)問題,在發(fā)送驗(yàn)證碼后,button狀態(tài)需要變?yōu)閐isable,每隔一秒顯示倒計(jì)時(shí)時(shí)間,下面通過本文給大家介紹設(shè)置方法,一起看看吧2016-12-12