<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > iOS技術(shù)概述

          iOS技術(shù)概述

          作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

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

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

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

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

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

          外部設備支持

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

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

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

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

          如需進一步了解上述類可提供的支持,請查看UIKit框架參考中相應的類描述。

          Cocoa Touch 層包含的框架

          Address Book UI 框架

          Event Kit UI 框架

          Game Kit 框架

          iAd 框架

          Map Kit 框架

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

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

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

          Message UI 框架

          UIKit 框架

          媒體層

          圖形技術(shù)

          創(chuàng)建應用程序最簡單最有效的方法是使用事先渲染過的圖片,搭配上標準視圖以及UIKit框架的控件,然后把繪制任務交給系統(tǒng)來執(zhí)行。但是在某些情況下,您可能需要一些UIKit所不具有的功能,而且需要定制某些行為。在這種情況下,您可以使用下述技術(shù)管理應用程序的圖形內(nèi)容:

          Core Graphics (也被稱為Quartz),用于處理本地2D向量渲染和圖片渲染。

          Core Animation ( Quartz Core框架的一部分),為動畫視圖和其他內(nèi)容提供更高級別支持。

          OpenGL ES,為使用硬件加速接口的2D和3D渲染提供支持。

          Core Text,提供一個精密的文本布局和渲染引擎。

          Image I/O,提供讀取及編寫大多數(shù)圖形格式的接口。

          資產(chǎn)庫框架(Assets Library framework),可用于訪問用戶照片庫中的照片和視頻。

          大多數(shù)應用程序應該無需改動,或者只需做很少修改,便可運行在具備高分辨率屏幕的設備。因為在繪圖或者操作視圖的時候,您所指定的座標值會被映射到邏輯座標系統(tǒng),它和底層屏幕分辨率沒有關(guān)聯(lián)。而且繪制的內(nèi)容會自動根據(jù)需要按比例縮放,以此來支持高分辨率屏幕。對基于向量進行繪制的代碼來說,系統(tǒng)框架會自動使用額外的像素來改善圖畫的內(nèi)容,使其變得更清晰。如果應用程序中使用了圖片,則可以利用UIKit自動加載現(xiàn)有圖片的高分辨率版本。

          音頻技術(shù)

          請記住,要盡可能地選取高級框架,因為它們可以簡化播放音頻所需的工作。下面列出的框架從高級到低級排列,,媒體播放器框架(Media Player framwork)提供的是最高級的接口:

          媒體播放器框架。該框架可以讓訪問用戶的iTume庫變得很容易,并且支持播放曲目和播放列表。

          AV Foundation框架。它提供一組簡單易用的Objective-C接口,可用于管理音頻的播放或錄制。.

          OpenAL框架。它提供一組跨平臺,用于發(fā)布方位音頻的接口。

          Core Audio框架。它提供的接口簡單而精密,可用于播放或錄制音頻內(nèi)容。您可以使用這些接口播放系統(tǒng)的警報聲音、觸發(fā)備的震動功能、管理多聲道的緩沖和播放、對音頻內(nèi)容進行流化處理。

          視頻技術(shù)

          選擇視頻技術(shù)的時候,請盡可能選擇高級框架,因為高級框架可以簡化為提供對某種功能的支持所需的工作。下面列出的框架由高級到低級排列。其中,媒體播放器框架提供最高級的接口:

          媒體播放器框架,它提供一組易于使用的接口,可用于播放應用程序中全屏或部分屏的電影。

          AV Foundation框架,它提供一組Objective-C接口,可以對電影的捕捉和播放進行管理。

          Core Media框架,它對較高級框架使用的底層類型進行描述,同時也提供一些底層接口,它們用于對媒體進行處理。

          Core Services 層

          Core Services層為所有的應用程序提供基礎(chǔ)系統(tǒng)服務。可能應用程序并不直接使用這些服務,但它們是系統(tǒng)很多部分賴以建構(gòu)的基礎(chǔ)。

          下面的部分描述一些比較常見特性,也許您正打算讓您的應用程序支持這些特性。

          塊對象

          Grand Central Dispatch

          應用程序內(nèi)購買(In App Purchase)

          定位服務

          SQLite

          XML 支持

          Core Foundation 框架

          Core Foundation框架 (CoreFoundation.framework) 是一組C語言接口,它們?yōu)閕OS應用程序提供基本數(shù)據(jù)管理和服務功能。下面列舉該框架支持進行管理的數(shù)據(jù)以及可提供的服務:

          群體數(shù)據(jù)類型 (數(shù)組、集合等)

          程序包

          字符串管理

          日期和時間管理

          原始數(shù)據(jù)塊管理

          偏好管理

          URL及數(shù)據(jù)流操作

          線程和RunLoop

          端口和soket通訊



          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();