自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iOS平臺(tái)Cocoa Touch層

移動(dòng)開發(fā) iOS
Cocoa Touch層包含了構(gòu)建iOS程序的關(guān)鍵framework。設(shè)計(jì)你的程序時(shí),你應(yīng)該首先查看這個(gè)層包含的技術(shù),看看他們是否符合你的需要。

Cocoa Touch層包含了構(gòu)建iOS程序的關(guān)鍵framework。這層定義了程序的基本結(jié)構(gòu),支持如多任務(wù),基于觸摸的輸入,push notification等關(guān)鍵技術(shù),以及很多上層系統(tǒng)服務(wù)。設(shè)計(jì)你的程序時(shí),你應(yīng)該首先查看這個(gè)層包含的技術(shù),看看他們是否符合你的需要。

上層特性

下面介紹一些Cocoa Touch層的關(guān)鍵技術(shù)。

多任務(wù)

iOS SDK 4.0以及以后的SDK構(gòu)建的程序(且運(yùn)行在iOS 4.0和以后版本的設(shè)備上),用戶按下Home按鈕的時(shí)候程序不會(huì)結(jié)束;它們會(huì)挪到后臺(tái)運(yùn)行。UIKit幫助實(shí)現(xiàn)的多任務(wù)支持,讓程序可以平滑切換到后臺(tái),或者切換回來。

為了節(jié)省電力,大多數(shù)程序進(jìn)入后臺(tái)后馬上就會(huì)被系統(tǒng)暫停。暫停的程序還在內(nèi)存里,但是不執(zhí)行任何代碼。這樣程序需要重新激活的時(shí)候可以快速恢復(fù),但是同時(shí)不浪費(fèi)任何電力。然而,在如下原因下,程序也可以在后臺(tái)下運(yùn)行:

程序可以申請(qǐng)有限的時(shí)間完成一些重要的任務(wù)。

程序可以聲明支持某種特定的服務(wù),需要周期的后臺(tái)運(yùn)行時(shí)間。

程序可以使用本地通知在指定的時(shí)間給用戶發(fā)信息,不管程序是否在運(yùn)行。

不管你的程序在后臺(tái)是被暫停還是繼續(xù)運(yùn)行,支持多任務(wù)都不需要你做什么額外的事情。系統(tǒng)會(huì)在切換到后臺(tái)或者切換回來的時(shí)候,通知程序。在這個(gè)時(shí)刻,程序可以直接執(zhí)行一些重要的任務(wù),例如保存用戶數(shù)據(jù)等。

打印

從iOS 4.2開始,UIKit引入了打印支持,允許程序把內(nèi)容通過無線網(wǎng)路發(fā)送給附近的打印機(jī)。關(guān)于打印,大部分重體力勞動(dòng)由UIKit承擔(dān)。它管理打印接口,和你的程序協(xié)作渲染打印的內(nèi)容,管理打印機(jī)里打印作業(yè)的計(jì)劃和執(zhí)行。

程序提交的打印作業(yè)會(huì)被傳遞給打印系統(tǒng),它管理真正的打印流程。設(shè)備上所有程序的打印作業(yè)會(huì)被排成隊(duì)列,先入先出的打印。用戶可以從打印中心程序看到打印作業(yè)的狀態(tài)。所有這些打印細(xì)節(jié)都由系統(tǒng)自動(dòng)處理。

注意:僅有支持多任務(wù)的設(shè)備才支持無線打印。你的程序可使用UIPrintInteractionController對(duì)象來檢測(cè)設(shè)備是否支持無線打印。

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

iOS4.0起引入了數(shù)據(jù)保護(hù)功能,需要處理敏感用戶數(shù)據(jù)的應(yīng)用程序可以使用某些設(shè)備內(nèi)建的加密功能(某些設(shè)備不支持)。當(dāng)程序指定某文件受保護(hù)的時(shí)候,系統(tǒng)就會(huì)把這個(gè)文件用加密的格式保存起來。設(shè)備鎖定的時(shí)候,你的程序和潛在入侵者都無法訪問這些數(shù)據(jù)。然而,當(dāng)設(shè)備由用戶解鎖后,會(huì)生成一個(gè)密鑰讓你的程序訪問文件。

要實(shí)現(xiàn)良好的數(shù)據(jù)保護(hù),需要仔細(xì)考慮如何創(chuàng)建和管理你需要保護(hù)的數(shù)據(jù)。應(yīng)用程序必須在數(shù)據(jù)創(chuàng)建時(shí)確保數(shù)據(jù)安全,并適應(yīng)設(shè)備上鎖與否帶來的文件可訪問性的變化。

蘋果推通知服務(wù)

從iOS 3.0開始,蘋果發(fā)布了蘋果推通知服務(wù),這一服務(wù)提供了一種機(jī)制,即使你的程序已經(jīng)退出,仍舊可以發(fā)送一些新信息給用戶。使用這種服務(wù),你可以在任何時(shí)候,推送文本通知給用戶的設(shè)備,可以包含程序圖標(biāo)作為標(biāo)識(shí),發(fā)出提示聲音。這些消息提示用戶,應(yīng)該打開你的程序接收查看相關(guān)的信息。

從設(shè)計(jì)的角度看,要讓iOS程序可以發(fā)送推通知,需要兩部分的工作。首先,程序必須請(qǐng)求通知的發(fā)送,且在送達(dá)的時(shí)候能夠處理通知數(shù)據(jù)。然后,你需要提供一個(gè)服務(wù)端流程去生成這些通知。這一流程發(fā)生在你自己的服務(wù)器上,和蘋果的推通知服務(wù)一起觸發(fā)通知。

本地通知

從iOS 4.0開始,蘋果推出了本地通知,作為推通知機(jī)制的補(bǔ)充,應(yīng)用程序使用這一方法可以在本地創(chuàng)建通知信息,而不用依賴一個(gè)外部的服務(wù)器。運(yùn)行在后臺(tái)的程序,可以在重要時(shí)間發(fā)生的時(shí)候利用本地通知提醒用戶注意。例如,一個(gè)運(yùn)行在后臺(tái)的導(dǎo)航程序可以利用本地通知,提示用戶該轉(zhuǎn)彎了。程序還可以預(yù)定在未來的某個(gè)時(shí)刻發(fā)送本地通知,這種通知即使程序已經(jīng)被終止也是可以被發(fā)送的。

本地通知的優(yōu)勢(shì)在于它獨(dú)立與你的程序。一旦通知被預(yù)定,系統(tǒng)就會(huì)來管理它的發(fā)送。在消息發(fā)送的時(shí)候,甚至不需要應(yīng)用程序還在運(yùn)行。

手勢(shì)識(shí)別器

從iOS 3.2起,引入了手勢(shì)識(shí)別器,你可以把它附加到view上,然后用它們檢測(cè)通用的手勢(shì),如劃過或者捏合。附加手勢(shì)識(shí)別器到view后,設(shè)置手勢(shì)發(fā)生時(shí)執(zhí)行什么操作。手勢(shì)識(shí)別器會(huì)跟蹤原始的觸摸事件,使用系統(tǒng)預(yù)置的算法判斷目前的手勢(shì)。沒有手勢(shì)識(shí)別器,你就必須自己做這些計(jì)算,很多都相當(dāng)?shù)膹?fù)雜。

UIKit包含了UIGestureRecognizer 類,定義了所有手勢(shì)識(shí)別器的標(biāo)準(zhǔn)行為。你可以定義自己的定制手勢(shì)識(shí)別器子類,或者是使用UIKit提供的手勢(shì)識(shí)別器子類來處理如下的標(biāo)準(zhǔn)手勢(shì):

◆點(diǎn)擊(任何次數(shù))

◆捏合縮放

◆平移或者拖動(dòng)

◆劃過(任何方向)

◆旋轉(zhuǎn)(手指分別向相反方向)

◆長(zhǎng)按

文件共享支持

文件共享支持是從iOS 3.2開始引入的,利用它程序可以把用戶的數(shù)據(jù)文件開發(fā)給iTunes 9.1以及以后版本。程序一旦聲明支持文件共享,那么它的/Documents目錄下的文件就會(huì)開放給用戶。用戶可以用iTunes放文件進(jìn)去,或者取出來。這一特性并不允許你的程序和同一設(shè)備里面的其他程序共享文件;那種行為需要用剪貼板,或者文本交互控制對(duì)象(UIDocumentInteractionController)來實(shí)現(xiàn)。

要打開文件共享支持,請(qǐng):

◆在程序的Info.ppst文件內(nèi)加入鍵UIFileSharingEnabled,值設(shè)置為YES。

◆把你要共享的文件放在程序的Documents目錄內(nèi)。

◆設(shè)備插到用戶電腦時(shí),iTunes在選定設(shè)備的程序頁(yè)下面顯示文件共享塊。

◆用戶可以在桌面上增加和刪除文件。

支持文件共享的程序必須能夠識(shí)別放到Documents目錄內(nèi)的文件,并正確的處理它們。例如,程序應(yīng)該用自己的界面顯示新出現(xiàn)的文件,而不是把這些文件列在目錄里,問用戶該如何處理這些文件。

點(diǎn)對(duì)點(diǎn)對(duì)戰(zhàn)服務(wù)

從iOS 3.0起引入的Game Kit框架提供了基于藍(lán)牙的點(diǎn)對(duì)點(diǎn)對(duì)戰(zhàn)功能。你可以使用點(diǎn)對(duì)點(diǎn)連接和附近的設(shè)備建立通訊,是實(shí)現(xiàn)很多多人游戲中需要的特性。雖然這主要是用于游戲的,但是也可以用于其他類型的程序中。

標(biāo)準(zhǔn)系統(tǒng)View Controller

Cocoa Touch層的很多框架提供了用來展現(xiàn)標(biāo)準(zhǔn)系統(tǒng)接口的View Controller。你應(yīng)該盡量使用這些View Controller,以保持用戶體驗(yàn)的一致性。任何時(shí)候你需要做如下操作的時(shí)候,你都應(yīng)該用對(duì)應(yīng)框架提供的View Controller:

顯示和編輯聯(lián)系人信息◆使用Address Book UI框架提供的View Controller。

創(chuàng)建和編輯日歷事件◆使用Event Kit UI框架提供的View Controller。

編寫email或者短消息◆使用Message UI框架提供的View Controller。

打開或者預(yù)覽文件的內(nèi)容◆使用UIKit框架里的UIDocumentInteractionController類。

拍攝一張照片,或者從用戶的照片庫(kù)里面選擇一張照片◆使用UIKit框架內(nèi)的UIImagePickerController類。

拍攝一段視頻◆使用UIKit框架內(nèi)的UIImagePickerController類。

外部顯示支持

iOS 3.2開始,引入了外部顯示支持,允許一些iOS設(shè)備可以通過支持的纜線連接到外部的顯示器上。連接時(shí),程序可以用對(duì)應(yīng)的屏幕來顯示內(nèi)容。屏幕的信息,包括它支持的分辨率,都可以用UIKit框架提供的接口訪問。你也可以用這個(gè)框架來把程序的窗口連接到一個(gè)屏幕,或另外一個(gè)屏幕。

Cocoa Touch框架

下面的章節(jié)介紹Cocoa Touch層的框架和它們提供的服務(wù)。

Address Book UI框架

Address Book UI框架(AddressBookUI.framework)是一個(gè)Objective-C的編程接口,用來顯示創(chuàng)建新聯(lián)系人、編輯和選擇已有聯(lián)系人的標(biāo)準(zhǔn)系統(tǒng)界面。這個(gè)框架讓你可以輕松的在程序里面顯示聯(lián)系人信息,同時(shí)確保你的程序使用和其他程序一樣的接口,保持了平臺(tái)的一致性。

更多關(guān)于Address Book UI框架的類和如何使用他們的信息,參見iOS Address Book UI框架參考手冊(cè)。

Event Kit UI框架

從iOS 4.0開始,引入了Event Kit UI框架(EventKitUI.framework)提供了用來顯示和編輯事件的view controller。

Game Kit框架

iOS 3.0引入了Game Kit框架(GameKit.framework)支持在程序中進(jìn)行點(diǎn)對(duì)點(diǎn)的網(wǎng)絡(luò)通訊。尤其是這個(gè)框架支持了點(diǎn)對(duì)點(diǎn)的連接和游戲內(nèi)的語(yǔ)音通話功能。雖然這些功能主要是用于多人對(duì)戰(zhàn)網(wǎng)絡(luò)游戲,但是也可以在非游戲程序中使用。這個(gè)框架提供的網(wǎng)絡(luò)功能是構(gòu)建在Bonjour之上幾個(gè)簡(jiǎn)單的類實(shí)現(xiàn)的。這些類抽象了很多網(wǎng)絡(luò)細(xì)節(jié),讓沒有網(wǎng)絡(luò)編程經(jīng)驗(yàn)的開發(fā)者也可以輕松地在程序中加入網(wǎng)路功能。

iAd框架

iOS 4.0引入了iAd框架(iAd.framework)支持程序中顯示banner廣告。廣告由標(biāo)準(zhǔn)的view構(gòu)成,你可以把它們插入到你的用戶界面中,恰當(dāng)?shù)臅r(shí)候顯示。View本身和蘋果的廣告服務(wù)通訊,處理一切載入和展現(xiàn)廣告內(nèi)容以及響應(yīng)點(diǎn)擊等工作。

Map Kit框架

iOS 3.0引入了Map Kit框架(MapKit.framework)提供了一個(gè)可以嵌入到程序里的地圖接口?;谠摻涌诘男袨椋峁┝丝煽s放的地圖view,可標(biāo)記定制的信息。你可以把它嵌入在程序的view里面,編程設(shè)置地圖的屬性,保存當(dāng)前顯示的地圖區(qū)域和用戶的位置。你還可以定義定制標(biāo)記,或者使用標(biāo)準(zhǔn)標(biāo)記(大頭針標(biāo)記),突出地圖上的區(qū)域,顯示額外的信息。

從iOS 4.0開始,這個(gè)框架加入可拖動(dòng)標(biāo)記和定制覆蓋對(duì)象的功能??赏蟿?dòng)標(biāo)記令你可以移動(dòng)一個(gè)已經(jīng)被放置到地圖上的標(biāo)記,編程,也可以通過用戶行為。覆蓋對(duì)象提供了創(chuàng)建比標(biāo)記點(diǎn)更復(fù)雜的地圖標(biāo)記的能力。你可以使用覆蓋對(duì)象在地圖上來放置信息,例如公交路線,選區(qū)圖,停車區(qū)域,天氣信息(如雷達(dá)數(shù)據(jù))。

Message UI框架

iOS 3.0引入了Message UI框架(MessageUI.framewok)提供了編寫和查詢發(fā)建箱消息的能力。編寫支持包含了一個(gè)可以在程序中顯示的view controller接口。你可以在接口中填寫你要發(fā)送信息的內(nèi)容。你可以設(shè)置收信人,主題和內(nèi)容,以及附件。用戶可以選擇信息的優(yōu)先級(jí)。選定后,信息就會(huì)在用戶的發(fā)件箱里面排隊(duì)等待發(fā)送。

iOS 4.0和以后的系統(tǒng),這個(gè)框架開始支持用來編寫短消息的view controller。你可以使用這種view controller來創(chuàng)建和編輯短消息,而不用離開程序。和郵件編寫接口一樣,這個(gè)接口讓用戶選擇發(fā)送前是否編輯一下。

UIKit框架

UIKit框架(UIKit.framework)包含iOS中實(shí)現(xiàn)圖形,事件驅(qū)動(dòng)編程的等關(guān)鍵架構(gòu)Objective-C編程接口。iOS中的每個(gè)程序都在使用這個(gè)框架來實(shí)現(xiàn)如下的核心特行:

 

◆應(yīng)用程序管理

◆用戶界面管理

◆圖形和窗口支持

◆多任務(wù)支持

◆支持對(duì)觸摸的處理以及基于動(dòng)作的事件

◆展現(xiàn)標(biāo)準(zhǔn)系統(tǒng)view和控件的對(duì)象

◆對(duì)文本和web內(nèi)容的支持

◆剪切,復(fù)制和粘貼的支持

◆用戶界面動(dòng)畫支持

◆通過URL模式和系統(tǒng)內(nèi)其他程序交互

◆支持蘋果推通知

◆對(duì)殘障人士的易用性支持

◆本地通知的預(yù)定和發(fā)送

◆創(chuàng)建PDF

◆支持使用行為類似系統(tǒng)鍵盤的定制輸入view

◆支持創(chuàng)建和系統(tǒng)鍵盤交互定制的text view

除了提供程序的基礎(chǔ)代碼支持,UIKit還包括了一些設(shè)備特性的支持,如:

◆加速度傳感器數(shù)據(jù)

◆內(nèi)建的攝像頭(如果有的話)

◆用戶的照片庫(kù)

◆設(shè)備名和型號(hào)信息

◆電池狀態(tài)信息

◆接近傳感器信息

◆耳機(jī)線控信息

【編輯推薦】

  1. 關(guān)于iOS應(yīng)用開發(fā)
  2. 概述iOS開發(fā)技術(shù)
責(zé)任編輯:佚名 來源: tiny4cocoa
相關(guān)推薦

2011-07-18 15:08:34

2011-06-15 16:11:51

UIKitCocoa TouchiOS

2011-08-11 15:46:55

CocoaCocoa Touch框架

2011-05-31 15:41:00

Cocoa TouchCocoaiOS

2011-07-08 18:03:30

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

2011-07-08 11:13:42

Cocoa Touch XCode

2011-08-03 10:24:22

Cocoa Touch 靜態(tài)庫(kù)

2011-06-27 16:00:34

視頻教程Cocoa TouchiOS應(yīng)用

2011-06-27 15:39:51

Cocoa Touch

2011-08-05 17:54:33

Cocoa Touch 多語(yǔ)言

2011-07-08 10:49:59

Cocoa Touch 靜態(tài)庫(kù)

2011-08-10 16:27:07

Cocoa TouchPlist

2011-06-27 15:48:09

Cocoa TouchObjective-C

2011-08-10 18:37:32

CocoaMac OS X

2011-08-03 17:32:17

IOS UIScrollVi touch

2011-09-05 11:27:17

Sencha Touc框架HTML5

2011-09-02 16:42:51

Sencha ToucWeb應(yīng)用

2011-07-07 13:51:24

Cocoa 框架

2011-05-11 15:27:58

Windows OOPCocoa MVCCocoa

2014-10-15 10:09:12

iOS 8Touch ID開發(fā)
點(diǎn)贊
收藏

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