你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> [IOS/翻譯]Cocoa Touch Layer

[IOS/翻譯]Cocoa Touch Layer

編輯:IOS開發綜合

Cocoa Touch層包含了關鍵的庫來構建IOS應用。這些庫定義了應用的表現。他們提供應用的基本空間和提供關鍵技術,如多任務,以接觸為基礎的輸入,消息推送,和許多高級的系統服務。當你設計你的應用時候,你需要優先研究他們。

高級別的特性

接下來的章節描述一些關鍵技術

App Extensions 應用擴展(App Extension Programming Guide) Handoff 傳送(Guide) Document Picker 文檔選擇器 (Guide) AirDrop TextKit (Guide) UIKit Dynamics Multitasking (Guide) Auto Layout (Guide) 故事板 Storyboards UI State Preservation 蘋果消息推動服務 Apple Push Notification Service Local and Remote Notification Programming Guide 手勢識別 Gesture Recognizers Event Handling Guide for iOS Standard System View Controllers (View Controller Programming Guide for iOS)
App Extensions 應用擴展(App Extension Programming Guide
IOS8讓你在系統擴展區域中使用應用擴展,可以實現自定義功能在一個用戶任務中。例如,你可以提供一個應用的擴展,幫助用戶發送內容到公共分享網絡。當用戶安裝和可使用擴展之後,他們可以選擇在當前的應用裡點擊分享按鍵分享。你的自定義分享擴展給予接受,驗證和發送用戶內容。系統的擴展列表在共享菜單和依賴於用戶選擇。
在Xcode中,你創建應用擴展來添加預配置的應用擴展到應用裡。 在一個用戶安裝一個包含擴展的應用後,“Setting應用”裡面就有這個擴展了。當用運行其他引用,這個系統可以可視化擴展在系統的UI裡,例如分享菜單。
IOS支持應用擴展 分享,分享內容到公共網絡或者其他地方。 執行。執行一個小的任務 小工具,提供一個快速升級或者允許一個簡要式的任務在今日界面的消息中心裡 圖片編輯,在Photo應用裡執行一個圖片或者視頻的修改 文檔提供者,給予一個文檔本地保存,使得其它應用可以訪問。應用使用Picker界面來管理或移動文件。 自定義鍵盤,在設備上所有應用,用可以使用自定義鍵盤

每一個擴展的點定義了適當的APIs。當你使用應用擴展模板來開發,你可以獲得默認的目標,內容方法存根和你選擇的擴展屬性列表設置。

Handoff 傳送(Guide
Handoff是OS X系統和IOS系統的一個特性,跨越設備的連續性延伸的用戶體驗。Handoff允許用戶在一個設備上執行一個活動,跳轉到其它設備,活膚一個相同的活動在其他設備上。例如,一個用戶在Safari上浏覽一篇長文章,摘取文章到一個使用相同AppleID的IOS設備上,或者在IOS的Safri上打開一篇相同的網頁,並且像原來的設備一樣,在同一個scroll點上。Handoff使得用戶感覺到無縫的用戶體驗。
應用只需要采用的一個小的API就可以使用Handoff。每個在應用裡進行的活動,將會在其他設備上恢復相應的內容活動。當用選擇回復活動,這個對象發送到將要恢復的設備上。每個用戶的活動對象有一個回調,在恰當的時間下恢復活動狀態,如,在用戶活動對象前,發送到設備間。
如果繼續一個活動需要許多數據,用戶的活動對象容易傳送。在恢復中的應用有一個選項來打開一個流到源應用。基於文檔的應用可以為用戶自動在基於iCloud文檔下支持活動。

Document Picker 文檔選擇器 (Guide
Document Picker(UIDocumentPickerViewController)界面同意用戶訪問應用沙盒以外的文件。它是一個簡單的在應用間的分享原理。同時允許復合的工作流,因為用戶可以在不同應用裡修改一個文檔。
Document Picker讓你從許多文檔供應商裡訪問文件。例如,iCloud文檔提供者同意訪問在其他應用裡的iCloud的文檔存儲器。第三方開發者可以提供額外的文檔提供者來自擴展的存儲提供者。

AirDrop
AirDrop提供用戶在附近設備上分享圖片,文檔,鏈接和其他他不同的數據的能力。支持在UIActivityViewController類下分享文件到其他應用裡。這些類顯示不同的選項來分享內容到你指定的地方。如果你是用這個類,你需要考慮添加你的接口。
使用AirDrop接收文件,你需要

需要在Xocde的Info.plist添加適當的文檔類型關鍵字。系統使用這些信息來決定你的應用可以使用它 當應用接收到文件,在應用裡實現這個回調方application:openURL:sourceApplication:annotation:

接收到的文件保存在Documents/Inbox 字典下,如果你計劃修改這個文件,你必須把它移出這個字典再做修改。(在Inbox下,系統只允許讀取和刪除文件)。文件在這個路徑下是被加密保護的,所以當設備鎖上的情況下,是不能獲取文件的。

TextKit (Guide)
TextKit是一個功能全面,一些列高級別的類,處理文本和精美的排版。使用TextKit,你可以在段落,專欄和頁面裡排出不同風格的版。你可以在任意區域使得文本像圖片一樣顯示。同時你可以使用它來管理不同的字體。如果你考慮使用Core Text來實現閱讀文字,你應該使用TextKit。TextKit是基於文本為基礎的完整庫。可以使應用更容易的創建,修改,顯示和存儲文本,和在IOS裡使用更少的代碼。
TextKit包含新的UIKIt類,隨著已經存在的類

NSAttributedString類,可以支持新的特性。 NSLayoutManager 類,生成字形和文本排版 NSTextContainer類,定義一個區域的文本排版 NSTextStorage定義一個基礎接口用於管理文本內容

UIKit Dynamics
應用現在可以在UIView對象制定動態行為,和對於其它對象也遵循UIDynamicItem 協議。(對象遵循這個協議叫dynamic item)。動態行為提供了一個方法,使得應用的用戶體驗,和真實世界的動態行為和特性相同。UIKit的動態支持以下特性:

UIAttachmentBehavior類, 定義一種連接關系,在兩個動態物體或者一個動態物體和一個點。當其中一個移動,撞擊另一個,另一個同樣移動。這個連接不是完全靜態的。一個撞擊行為還有跳動和震動屬性,來決定這個行為怎麼變化。 UICollisionBehavior類,使得動態的items加入到碰撞下,和每一個item和這個item的邊緣碰撞。這個行為同時使得他們在碰撞後做出適當的反應。 UIGravityBehavior類,為動態item添加重力矢量。重力矢量使得動態items在矢量方向上加速直到碰撞到適當的邊界。 UIPushBehavior類,定義一個連接的或者瞬間的按壓的動態items UISnapBehavior類,為一個動態item定義一個彈性點。這個Item 彈到一個點上表現出配置好的效果。例如,動態item可以彈到一個點上,像攻擊到彈簧上。

當你添加它到一個動畫的對象上,動態行為變成活動的,這個動態對象定義為UIDynamicAnimator類。這個動畫提供的執行動態行為內容。一個動態ITem可以擁有多個行為,但是多有的行為都必須是運動在同一個動畫對象裡。

Multitasking (Guide)
電池文件是一個重要的用戶考量的IOS設備。在iOS的多任務模型的目的是最大限度地提高電池的壽命,同時給他們的應用需要做的重要的工作。當用戶按Home鍵,前景的應用會排位到背景。如果應用沒有太多的事情做,它就會被掛起,和放在一個凍結區域,內存不會在執行他的代碼。應用需要提供特定的工作類型來告訴系統請求後台時間。

應用和請求有限的時間來完成一些重要的任務 應用可以支持特定的服務來請求實現給予這些服務,如播放 應用可以使用特定時間的本地通知來生成用戶通知,即使應用沒有在運行 應用可以從網絡下載特定內容 應用可以下載內容後推送一個消息

Auto Layout (Guide)
自動適配幫你使用較少的代碼建設動態界面。使用自動適配,你可以為怎麼適配元素來定義規則在你的用戶界面上。這些規則表達了一大堆類的關系,更直觀的使用,比以前使用的springs and struts模型更直觀。例如,你可以定義一個按鍵總是距離父界面的左邊界20個像素點。

他們支持本地化通過單獨的字符串交換,而不是要求您更新你的布局。 它們支持用戶界面元素的鏡像,以供右至左語言,如希伯來和阿拉伯語 他們在界面裡的或者controller層上對象間提供更好的分割責任
一個界面對象通常擁有標准的大小,他們在父界面下定位,和與自身的同等級的界面有位置關系。一個界面的控制可以推翻那些不按標准的需求。

故事板 Storyboards
Storyboards,設計用戶界面的,一個推薦的方式。Storyboards讓你在一個地方設計你的用戶界面,因此你可以看到你所有的界面,view controller,和明白他們是怎麼一起工作的。一個重要的部分是,Storyboards有能力定義segues連接,他可以幫助view controller間的傳送。這些傳送允許你捕獲你設定好的界面流,除了內容。你可以在表面上定義這個傳送。在Xcode裡,或者程序初始化它們。
你可以使用一個簡單故事板文件,來存儲你的所有應用中的界面,和viewcontroller,或者使用多個故事板來管理。在創建的時候,Xcode會把故事板的文件內容和把它分成分立的部分,這部分可以更好的使得初始化裝載。你的應用不需要直接操作他們。UIKit庫提供了便捷的類來訪問故事板的內容。

UI State Preservation
狀態保留提供了無縫的用戶體驗來使得你的應用總是處於運行,盡管它沒有。如果系統的內存壓力,他可以快速的關閉一個或者多個後台與應用。當應用從前景移動到背景,他可以保護界面和view controller的狀態。到下一個周期,他可以保護信息狀態到重啟界面和viewcontroller,提供配置和讓他顯示和之前一樣的內容,而不是重新打開。

蘋果消息推動服務 Apple Push Notification Service Local and Remote Notification Programming Guide
蘋果消息推送服務提供一個方法,來告訴用戶IOS應用的新信息,即使這個應用沒有在運行。使用這個服務,你可以在任何時候推送文本消息,和添加一個應用圖標,或者音效在用戶設備。這些消息讓用戶知道,他們需要打開你的應用來接受相關信息。在IOS7,你可以推送靜態的消息讓你的應用知道,新的內容可以下載。
從設計的立場,這是兩個部分使得推送為IOS應用服務。第一,應用必須請求傳送通知,和當傳送後,馬上處理通知。第二,你需要提供服務端,第一時間處理生成的通知。這個處理需要在你自己的本地服務器和與蘋果推送服務一起工作才能生成通知。

Local Notifications (Local and Remote Notification Programming Guide
本地通知補充現有的推送通知機制,為應用提供了一種生成的本地通知的方法,而不需要使用服務器。應用運行在後台的時候可以使用本地通知,來告訴用戶一些重要的事情發生了。如,導航應用運行來後台,可以使用本地通知來警告用戶什麼時候轉彎。應用同時可以設置一個在未來的時間本地通知,即使應用沒有在運行,也可以傳遞通知。
本地通知的一個好處是,他們是獨立於應用的。在設定好一個通知後,系統會管理傳遞他們,你的應用不需要運行。

手勢識別 Gesture Recognizers Event Handling Guide for iOS
手勢識別常用手勢的檢測,如,在你的應用裡swipes滑動和pinches捏。因為他們使用與系統一樣的手勢識別,所以手勢識別為應用提供了一致的行為。使用一個,在應用裡添加一個手勢識別,給他一個運作方法去執行手勢事件。手勢識別是一個來自原始觸碰的困難的最終工作和決定他們什麼時候是個手勢。
所有的手勢識別都是基於UIGestureRecognizer類,決定了基本行為。UIKit支持標准的手勢識別,如, taps輕拍, pinches捏, pans, swipes滑動, rotations旋轉等。你可以定義一些手勢識別在你的應用裡。例如,你可以告訴輕拍這個行為是定義多個輕拍來執行你的方法。

Standard System View Controllers (View Controller Programming Guide for iOS)
許多系統庫定義了view controller的標准系統界面。只要可能,使用提供的view controller好過自己定義的。更加鼓勵使用這些view controller在你的應用裡面實現你的用戶界面。只要可能你需要執行一個接下來的任務,你可以使用view controller來自相應的庫。

顯示和修改相關的信息。使用Address Book UI庫的view controller 創建和修改日歷事件,使用EventKit UI庫的view controller 編寫郵件或者SMS,使用Message UI庫的view controller 打開或者預覽文件內容,使用UIKit庫的UIDocumentInteractionController類 照相或者在相冊裡懸著一個相片,使用UIKit庫的UIImagePickerController類 拍攝視頻剪輯,使用UIKit庫的UIImagePickerController類

Cocoa Touch Layer

接下來要介紹的是這個庫和庫下的功能

列表

2.0 通訊錄界面 AddressBookUI.framework (AB) 4.0 日歷事件UI _EventKitUI.framework
_(EK) 3.0 游戲 _GameKit.framework
_ (Guide) (GK) 4.0 廣告 iAd.frameworkGuide)(AD) 3.0 地圖 MapKit.frameworkGuide)(MK) 3.0 信息UI MessageUI.frameworkAbout System Messaging)(MF) 8.0 通知 NotificationCenter.frameworkGuide)(NK) 8.0 推送 PushKit.framework (PK) 5.0 Twitter Twitter.framework(TW) 2.0 界面 UIKit.framework(UI)

2.0 通訊錄界面 AddressBookUI.framework
提供通訊錄的標准系統的顯示界面,同時可以創建新的通訊錄信息和修改已存在的信息。這個庫規范了通訊錄的界面,和簡化了顯示。使得所有程序使用的都是統一的界面。(AB)

4.0 日歷事件UI _EventKitUI.framework
_
為ViewController提供標准的系統日歷接口,來顯示和修改日歷事件。在EventKit庫裡,這個庫構建在關聯數據之上。(EK)

3.0 游戲 _GameKit.framework
_ (Guide)
支持Game Center,用戶可以使用它來分享游戲關聯的數據。(GK)

允許用戶創建網絡賬號,用戶登錄Game Center和與匿名用戶交流。用戶可以為自己的朋友設置標簽。 排行榜,支持上傳游戲分數上Game Center,和檢索分數。你可以使用這個特性讓用戶把自己最好的成績告訴給他們的朋友。 成就,允許應用記錄用戶在游戲裡面產生的成就。 挑戰,用戶可以在應用裡發起挑戰給朋友,來獲得一個成績或者成就。 回合制游戲,創建一個持久的比賽。比賽的狀態會存儲在iCloud

4.0 廣告 iAd.frameworkGuide
可以讓你在應用中投放以橫幅為基礎的廣告。廣告整合了標准的界面中,和推送你想要的界面。這個界面都是有蘋果iAD服務,自動的獲得相關的加載和推送不同的媒體,和處理廣告點擊事件。(AD)

3.0 地圖 MapKit.frameworkGuide
你可以把具有卷頁功能的地圖放在你的應用界面裡。在你顯示地圖之前,你可以通過這個庫來自動以地圖內容和顯示。你可以標志一個感興趣的點並且標記注釋,你也可以在地圖上用自定義覆蓋區域來點綴一個片區。例如,你可能是用一個區域來畫巴士車站,使用注釋來高亮附件的商店和飯店。
另外,顯示地圖的時候,這個庫結合了地圖應用和蘋果地圖服務來提供更好的導航。從地圖應用,用戶可以從應用上回調地圖導航。應用可以提供專業的導航類型,例如地鐵信息等。用戶可以請求這些導航。應用同時可以從蘋果服務器請求步行,和自駕導航,然後整合導航信息,提供點到點的導航路線給用戶。(MK)

3.0 信息UI MessageUI.frameworkAbout System Messaging
為你的應用提供Email和SMS短信顯示。這些信息通過一個ViewController來推送到界面上。你可以在填寫區域裡填寫收件人,主題,主要內容,和附件。在展示界面後,用戶可以在發送前修改裡面的信息。(MF)

8.0 通知 NotificationCenter.frameworkGuide
創建一個小組件在信息中心顯示通知。(NK)

8.0 推送 PushKit.framework
提供注冊支持VoIP應用。這個庫替換以前注冊VoIP應用的IPAs。取而代之的是保持一個持續的連接,因此消耗電源,當有電話信號進來時,應用可以通過這個應用獲得通知。(PK)

5.0 Twitter Twitter.framework
已經被Social庫替換了。支持tweets的UI,和提供創建Urls來訪問Twitter服務。(TW)

2.0 界面 UIKit.framework
在IOS下,創建實現圖形的關鍵基礎設施,事件驅動的應用程序(UI)

基本應用管理和基礎控件,包含應用的主線程 用戶的界面管理,包含支持故事板(storyboards)和可顯化管理(nib)文件 一個Viewcontroller模型來壓縮裝在你的用戶界面內容 對象在標准的系統界面和控制下表現出來 支持管理touch-和motion-事件 支持文檔模式包含 iCloud integration(Document-Based App Programming Guide for iOS) 圖形和界面支持,包含支持額外顯示(View Programming Guide for iOS) 支持多任務(Multitasking) 支持繪畫(Drawing and Printing Guide for iOS) 支持定制標准的UIKitking控件 支持文字和網絡內容 剪切,復制和粘貼 支持用戶界面內容動畫效果 在系統下,通過URL schemes和庫接口,整合其他應用 支持禁用用戶的可訪問性 支持蘋果消息推送服務(Apple Push Notification Service) 本地消息的時間安排和傳遞(Local Notifications) PDF創建 支持使用類似系統自定義的界面鍵盤 支持創建文本視圖來和系統鍵盤交互 支持通過郵箱,twitter,facebook或者其他服務器分享內容
除了支持建設應用的基本代碼以外,UIKit同時支持一些設備的特殊特性。 內置相機 用戶的圖片庫 設備名稱和模型信息 電源狀態信息 距離傳感器信息 通過耳機鏈接的遠距離控制信息
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved