偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

深入了解Cocoa Touch 層

移動開發(fā) iOS
本文介紹的是深入了解Cocoa Touch 層,從多個框架來講述Cocoa Touch 層,具體內(nèi)容,我們先來看內(nèi)容。

詳解Cocoa Touch 層是本文要介紹的內(nèi)容,先來看內(nèi)容。Cocoa Touch層包含創(chuàng)建 iOS應(yīng)用程序所需的關(guān)鍵框架。上至實現(xiàn)應(yīng)用程序可視界面,下至與高級系統(tǒng)服務(wù)交互,都需要該層技術(shù)提供底層基礎(chǔ)。在開發(fā)應(yīng)用程序的時候,請盡可能不要使用更底層的框架,盡可能使用該層的框架

高級特性

下面章節(jié)描述一些常見特性,也許您也正打算在應(yīng)用程序支持這些特性。

多任務(wù)

如果應(yīng)用程序構(gòu)建于iPhone SDK 4.0及其后續(xù)版本(且運行于iOS 4.0及后續(xù)版本操作系統(tǒng)),則點擊Home鍵的時候,應(yīng)用程序不會結(jié)束,而是切換到后臺。對于大多數(shù)應(yīng)用程序來說,進(jìn)入后臺,它們就會進(jìn)入掛起狀態(tài)。讓應(yīng)用程序駐留在后臺可以避免以后的重新啟動過程,應(yīng)用程序可以直接將自己激活,這在很大程度上改善了整體用戶體驗。另外,將應(yīng)用程序掛起也可以改善系統(tǒng)性能,因為掛起應(yīng)用程序可以最小化電能使用,并可讓前臺應(yīng)用程序獲得更多的執(zhí)行時間。

盡管應(yīng)用程序進(jìn)入后臺就會被掛起,但可以通過下述的技術(shù)讓其在后臺繼續(xù)運行:

應(yīng)用程序可以請求一定的時間完成某些重要的任務(wù)。

應(yīng)用程序可以聲明自身支持的某種服務(wù)需要獲得定期后臺執(zhí)行時間。

應(yīng)用程序可以使用本地通告在指定時間向用戶發(fā)通知。這種方式對于應(yīng)用程序是否運行沒有要求。

不管應(yīng)用程序是被掛起還是在后臺運行,支持多任務(wù)不需要付出額外的工作。但是在某些情況(例如內(nèi)存不足)下,應(yīng)用程序可能會被結(jié)束運行。因此,應(yīng)用程序應(yīng)該可以在任何時候退出。這就意味著許多在退出應(yīng)用程序時需要執(zhí)行的任務(wù)必須改為在應(yīng)用程序切換到后臺的時候執(zhí)行。這就要求您在應(yīng)用程序委托中實現(xiàn)一些新的方法以響應(yīng)程序的狀態(tài)切換。

如果需要進(jìn)一步了解如何對后臺狀態(tài)切換進(jìn)行處理以及如何讓應(yīng)用程序在后臺繼續(xù)運行,請查看iOS應(yīng)用程序編程指南。

數(shù)據(jù)保護(hù)

和敏感用戶數(shù)據(jù)打交道的應(yīng)用程序可以使用設(shè)備內(nèi)建加密功能(有些設(shè)備可能不提供內(nèi)建加密功能)對數(shù)據(jù)進(jìn)行保護(hù)。如果應(yīng)用程序指定某個文件受保護(hù),系統(tǒng)會以加密格式將該文件保存在磁盤。當(dāng)設(shè)備鎖住的時候,您的應(yīng)用程序以及其他潛在的闖入者都不能訪問該文件,而當(dāng)用戶解鎖設(shè)備后,系統(tǒng)會生成一份密鑰以便您的應(yīng)用程序就訪問該文件。

如需實現(xiàn)數(shù)據(jù)保護(hù),應(yīng)用程序應(yīng)在待保護(hù)數(shù)據(jù)的創(chuàng)建和管理方式下一些功夫。它必須能夠在數(shù)據(jù)創(chuàng)建之時保證其安全,而且需要適配設(shè)備上鎖或未上鎖造成的文件可訪問性的變化。

如需進(jìn)一步了解應(yīng)用程序如何為文件添加數(shù)據(jù)保護(hù),請查看iOS應(yīng)用程序編程指南中的實現(xiàn)標(biāo)準(zhǔn)的應(yīng)用程序行為一章。

蘋果推送通知服務(wù)

iOS 3.0及后續(xù)版本的系統(tǒng)中,不管應(yīng)用程序是否運行,蘋果推送通知服務(wù)可用于通知用戶某個應(yīng)用程序具有新信息。利用這項服務(wù),您可以向系統(tǒng)推送文本通知,可以觸發(fā)聲音提醒或者在應(yīng)用程序圖標(biāo)上添加一個數(shù)字化標(biāo)記。這樣用戶就知道他們應(yīng)該打開應(yīng)用程序接收相關(guān)信息。

從設(shè)計角度看,讓應(yīng)用程序支持推送通知包含兩個部分。首先,iOS應(yīng)用程序需要請求系統(tǒng)向其發(fā)送通知,然后要合理配置應(yīng)用程序委托使其可以對通知進(jìn)行恰當(dāng)處理。這些工作可以通過應(yīng)用程序委托以及UIApplication對象合作完成。第二,您需要提供一個服務(wù)器端進(jìn)程用于產(chǎn)生最初的通知。該進(jìn)程運行在您自己的本地服務(wù)器,它和蘋果推送通知服務(wù)協(xié)同工作以產(chǎn)生最初的通知。

如需進(jìn)一步了解如何配置應(yīng)用程序以便使用遠(yuǎn)程通知,請查看本地通知及推送通知編程指南。 

本地通知

iOS 4.0引入了本地通知。本地通知是對已有推送通知的補(bǔ)充,通用程序可以通過它在本地生成通知,不再需要依賴外部服務(wù)器。當(dāng)有重要的事件發(fā)生時,后臺應(yīng)用程序可以利用本地通知獲得用戶關(guān)注。舉個例子,運行于后臺的導(dǎo)航應(yīng)用程序可以使用本地通知提醒用戶要轉(zhuǎn)彎。應(yīng)用程序也可以安排在未來的某個時刻向用戶發(fā)送本地通知,而且發(fā)送這些通知并不要求應(yīng)用程序處于運行狀態(tài)。

本地通知的優(yōu)點是它獨立于您的應(yīng)用程序。一旦某個通知被安排好后,系統(tǒng)會負(fù)責(zé)通知發(fā)送。而且在發(fā)送通知的時候,您的應(yīng)用程序無需處于運行狀態(tài)

如需進(jìn)一步了解本地通知的使用方式,請查看本地通知及推送通知編程指南。

手勢識別器

iOS 3.2引入了手勢識別器。手勢識別器是一個綁定到視圖的對象,用于檢測常見的手勢類型。將手勢識別器綁定到視圖后,您可以告訴它某個手勢發(fā)生的時候執(zhí)行何種動作。之后,手勢識別器就可以對原始事件進(jìn)行跟蹤,根據(jù)系統(tǒng)定義的試探方式識別手勢。在引入手勢識別器前,如果要識別一個手勢,您需要跟蹤視圖的原始觸摸事件流,然后再使用復(fù)雜的試探方法來判斷這些事件是否表示某種手勢。

現(xiàn)在,UIKit框架中包含一個
UIGestureRecognizer
 類,它定義了所有手勢識別器的基本行為。您可以使用自定義的手勢識別器子類或者系統(tǒng)定義的某個子類處理下面這些標(biāo)準(zhǔn)手勢:

拍擊 (任意次數(shù)的拍擊)

向里或向外捏 (用于縮放)

搖動或者拖拽

擦碰 (以任意方向)

旋轉(zhuǎn) (手指朝相反方向移動)

長按

如需進(jìn)一步了解您可以使用的手勢識別器,請查看iOS事件處理指南。

文件共享支持

應(yīng)用程序可以使用文件共享讓用戶訪問程序的用戶數(shù)據(jù)文件。文件共享允許應(yīng)用程序通過iTunes向用戶顯露應(yīng)用程序/Documents

目錄的內(nèi)容。這樣,用戶就可以在iPad和桌面計算機(jī)來回移動文件。但是,該功能不允許應(yīng)用程序和同一設(shè)備上的其他應(yīng)用程序共享文件。如果希望在程序間共享文件,請使用剪貼板或者文檔交互控制器對象。

您可以通過如下步驟來讓應(yīng)用程序支持文件共享:

在應(yīng)用程序的Info.plist文件中添加UIFileSharingEnabled鍵,并將鍵值設(shè)置為YES。

將您希望共享的文件放在應(yīng)用程序的Documents目錄。

一旦設(shè)備插入到用戶計算機(jī),iTunes 9.1就會在選中設(shè)備的Apps標(biāo)簽中顯示一個File Sharing區(qū)域。

此后,用戶就可以向該目錄添加文件或者將文件移動到桌面計算機(jī)中。

如果應(yīng)用程序支持文件共享,當(dāng)文件添加到Documents目錄后,應(yīng)用程序應(yīng)該能夠識別并做出適當(dāng)響應(yīng)。例如說,應(yīng)用程序可以將新文件的內(nèi)容顯示界面上。請不要向用戶展現(xiàn)目錄的文件列表并詢問他們希望對文件執(zhí)行什么操作。

如需進(jìn)一步了解UIFileSharingEnabled鍵,請查看信息屬性列表參考。

點對點服務(wù)

在iOS 3.0 及后續(xù)版本,Game Kit框架支持經(jīng)由藍(lán)牙進(jìn)行點對點連接。您可以使用點對點連接啟動與某個鄰近設(shè)備的通訊會話,也可用它實現(xiàn)多種多玩家游戲的常見特性。雖然點對點連接主要應(yīng)用于游戲,但您也可將之應(yīng)用于其他類型應(yīng)用程序。

如需進(jìn)一步了解如何在應(yīng)用程序中使用點對點連接的特性,請查看Game Kit 編程指南。如果需要概要了解Game Kit框架,請查看“Game Kit 框架”。

標(biāo)準(zhǔn)系統(tǒng)視圖控制器

Cocoa Touch層許多框架含有展現(xiàn)標(biāo)準(zhǔn)系統(tǒng)界面的視圖控制器。我們提倡您在應(yīng)用程序中使用這些視圖控制器,這樣可以讓您的程序和系統(tǒng)具有一致的用戶體驗。如果您需要執(zhí)行下述任務(wù),請從相應(yīng)的框架中選擇一個視圖控制器使用:

顯示或者編輯聯(lián)系人信息 - 請使用Address Book UI框架中的視圖控制器。

創(chuàng)建或者編輯日歷事件 - 請使用Event Kit UI框架的視圖控制器。

創(chuàng)建email或者SMS消息 - 請使用Message UI框架中的視圖控制器。

打開或者預(yù)覽一份文件的內(nèi)容 - 請使用UIKit框架中的UIDocumentInteractionController類。

從用戶的照片庫選取一張照片 - 請使用UIKit框架中的UIImagePickerController類。

拍攝視頻片段 - 請使用UIKit框架中的UIImagePickerController類。

如需了解如何選擇使用視圖控制器,請查看iOS視圖控制器編程指南。如需了解特定視圖控制器所展現(xiàn)的界面,請查看相應(yīng)的框架參考。

外部設(shè)備支持

安裝iOS 3.2的設(shè)備可通過一組設(shè)備支持的線纜連接一個外部顯示設(shè)備。當(dāng)外部設(shè)備連上后,應(yīng)用程序就可以使用其顯示屏顯示內(nèi)容。屏幕的信息,包括屏幕能夠支持的分辨率都可通過UIKit框架的接口獲取。您也可以通過該框架將應(yīng)用程序窗口關(guān)聯(lián)到某個屏幕。

UIScreen類用于獲取當(dāng)前所有屏幕(包括設(shè)備主屏幕)的屏幕對象。屏幕對象包含屏幕的屬性信息(包括將屏幕的尺寸和像素比例也考慮在內(nèi)的屏幕特征)。

您可以從UIScreenMode類獲得某個具有特定尺寸像素比例的屏幕的信息。

您可以將窗口(使用UIWindow類來表示)指定到某個特定的屏幕。如果您需要對內(nèi)容作鏡像顯示,則需要提供兩個獨立的窗口,然后再在其中顯示相同內(nèi)容。

如需進(jìn)一步了解上述類可提供的支持,請查看UIKit框架參考中相應(yīng)的類描述。

Cocoa Touch 層包含的框架

下面部分描述Cocoa Touch層包含的框架以及這些框架提供的服務(wù)。

Address Book UI 框架

Address Book UI 框架(AddressBookUI.framework)是一套Objective-C的編程接口,可以顯示創(chuàng)建或者編輯聯(lián)系人的標(biāo)準(zhǔn)系統(tǒng)界面。該框架簡化了應(yīng)用程序顯示聯(lián)系人信息所需的工作,另外它也可以確保應(yīng)用程序使用的界面和其他應(yīng)用程序相同,進(jìn)而保證跨平臺一致性。

如果需要進(jìn)一步了解Address Book UI框架以及如何使用該框架,請查看iOS地址簿編程指南以及iOS地址簿框架參考。

Event Kit UI 框架

iOS 4.0引入了Event Kit UI框架(EventKitUI.framework),它提供一個視圖控制鍵可以展現(xiàn)查看并編輯事件的標(biāo)準(zhǔn)系統(tǒng)界面。Event Kit框架(查看“Event Kit框架”可獲得該框架的進(jìn)一步信息)的事件數(shù)據(jù)是該框架的構(gòu)建基礎(chǔ)。

如需進(jìn)一步了解Event Kit UI框架類和方法,請查看Event Kit UI框架參考。

Game Kit 框架

iOS 3.0引入了Game Kit框架(GameKit.framework)。該框架支持點對點連接及游戲內(nèi)語音功能,您可以通過該框架為應(yīng)用程序增加點對點網(wǎng)絡(luò)功能。點對點連接以及游戲內(nèi)語音功能在多玩家的游戲中非常普遍,不過您也可以考慮將其加入到非游戲應(yīng)用程序。此框架通過一組建構(gòu)于Bonjour之上的簡單而強(qiáng)大的類提供網(wǎng)絡(luò)功能,這些類將許多網(wǎng)絡(luò)細(xì)節(jié)抽象出來,從而讓沒有網(wǎng)絡(luò)編程經(jīng)驗的開發(fā)者可以更加容易地將網(wǎng)絡(luò)功能整合到應(yīng)用程序。

如需進(jìn)一步了解Game Kit框架, 請查看Game Kit 編程指南以及Game Kit 框架參考 。

iAd 框架

iOS 4.0引入了iAd框架 (iAd.framework)。您可以通過該框架在應(yīng)用程序中發(fā)布橫幅廣告。廣告會被放入到標(biāo)準(zhǔn)視圖,您可以將這些視圖加入到用戶界面,并在合適的時機(jī)向用戶展現(xiàn)。這些視圖和蘋果的公告服務(wù)相互協(xié)作,自動處理廣告內(nèi)容的加載和展現(xiàn),同時也可以響應(yīng)用戶對廣告的點擊。

如需進(jìn)一步了解如何在應(yīng)用程序當(dāng)中使用iAd,請查看iAd 框架參考。

Map Kit 框架

iOS 3.0導(dǎo)入了 Map Kit框架 (MapKit.framework) ,該框架供一個可被嵌入到應(yīng)用程序的地圖界面,該界面包含一個可以滾動的地圖視圖。您可以在視圖中添加定制信息,并可將其嵌入到應(yīng)用程序視圖,通過編程的方式設(shè)置地圖的各種屬性(包括當(dāng)前地圖顯示的區(qū)域以及用戶的方位)。您也可以使用定制標(biāo)注或標(biāo)準(zhǔn)標(biāo)注(例如使用測針標(biāo)記)突出顯示地圖中的某些區(qū)域或額外的信息。

在iOS 4.0系統(tǒng)中,該框架開始支持可拖動標(biāo)注以及定制覆蓋層??赏蟿訕?biāo)注允許您通過編程方式或通過用戶交互方式重定位某個標(biāo)注的位置。覆蓋層可用于創(chuàng)建多個點組成的復(fù)雜地圖標(biāo)注。地圖表面諸如公交路線、選舉地圖、公園邊界或者氣象信息(例如雷達(dá)數(shù)據(jù))等可以使用覆蓋層進(jìn)行顯示。

如需進(jìn)一步了解Map Kit框架中的類,請查看Map Kit 框架參考。

Message UI 框架

iOS 3.0引入了Message UI框架 (MessageUI.framework)。您可以利用該框架撰寫電子郵件,并將其放入到用戶的發(fā)件箱排隊等候發(fā)送。該框架提供一個視圖控制器界面,您可以在應(yīng)用程序中展現(xiàn)該界面,讓用戶通過該界面撰寫郵件。界面的字段可以根據(jù)待發(fā)送信息的內(nèi)容生成。例如您可以設(shè)置接收人、主題、郵件內(nèi)容并可以在郵件中包含附件。這個界面允許用戶先對郵件進(jìn)行編輯,然后再選擇接受。在用戶接受郵件內(nèi)容后,相應(yīng)的郵件就會放入用戶的發(fā)件箱排隊等候發(fā)送。

在iOS 4.0及其后續(xù)的系統(tǒng)中,該框架提供一個SMS撰寫面板控制器。您可以通過它在應(yīng)用程序中直接創(chuàng)建并編輯SMS信息(無需離開應(yīng)用程序)。和電子郵件撰寫界面一樣,該界面也允許用戶先編輯SMS信息再發(fā)送。

如需進(jìn)一步了解Message UI框架中的類,請參考Message UI 框架參考。

UIKit 框架

UIKit框架 (UIKit.framework)的Objective-C編程接口為實現(xiàn)iOS應(yīng)用程序的圖形及事件驅(qū)動提供關(guān)鍵基礎(chǔ)。iOS系統(tǒng)所有程序都需要通過該框架實現(xiàn)下述核心功能:

應(yīng)用程序管理

用戶界面管理

圖形和窗口支持

多任務(wù)支持

處理觸摸及移動事件。

代表標(biāo)準(zhǔn)系統(tǒng)視圖和控件的對象

文本和web內(nèi)容相關(guān)操作

剪切、復(fù)制以及粘貼

使用動畫顯示用戶界面內(nèi)容

通過URL方式將其他應(yīng)用程序整合到系統(tǒng)

蘋果推送通知服務(wù)支持,請查看“蘋果推送通知服務(wù) ”

為殘疾用戶提供輔助功能

本地通知的調(diào)度和發(fā)送

創(chuàng)建PDF

使用定制輸入視圖(其行為類似系統(tǒng)鍵盤)

創(chuàng)建和系統(tǒng)鍵盤進(jìn)行交互的定制文本視圖

除了鏈編至應(yīng)用程序的基礎(chǔ)代碼,UIKit還為下述和設(shè)備緊密相連的功能提供支持:

加速器數(shù)據(jù)

內(nèi)置相機(jī)(存在相機(jī)的設(shè)備)

用戶的圖片庫

設(shè)備名稱和模型信息

電池狀態(tài)信息

距離感應(yīng)器信息

來自綁定聽筒的遠(yuǎn)程控制信息

如需進(jìn)一步了解UIKit框架的信息,請查看UIKit 框架參考

小結(jié):關(guān)于詳解Cocoa Touch 層的內(nèi)容介紹完了,希望本文對你有所幫助,更多內(nèi)容請參考編輯推薦!

責(zé)任編輯:zhaolei 來源: 博客園
相關(guān)推薦

2011-05-11 10:28:03

2011-08-11 15:46:55

CocoaCocoa Touch框架

2010-07-13 09:36:25

2010-11-19 16:22:14

Oracle事務(wù)

2020-09-21 09:53:04

FlexCSS開發(fā)

2022-08-26 13:48:40

EPUBLinux

2009-08-25 16:27:10

Mscomm控件

2010-06-23 20:31:54

2020-07-20 06:35:55

BashLinux

2022-06-03 10:09:32

威脅檢測軟件

2010-11-15 11:40:44

Oracle表空間

2018-06-22 13:05:02

前端JavaScript引擎

2021-01-19 12:00:39

前端監(jiān)控代碼

2021-04-28 10:13:58

zookeeperZNode核心原理

2013-04-16 10:20:21

云存儲服務(wù)云存儲SLA服務(wù)水平協(xié)議

2010-11-08 13:54:49

Sqlserver運行

2010-09-27 09:31:42

JVM內(nèi)存結(jié)構(gòu)

2011-07-08 18:03:30

Cocoa Touch 網(wǎng)絡(luò)

2013-10-09 11:07:31

日志文件系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號