iOS UIKit架構

來源:互聯網
上載者:User

標籤:

1. 簡介:

UIKitk架構提供一系列的Class(類)來建立和管理iPhone OS應用程式的使用者介面( UI )介面、應用程式物件、事件控制、繪圖模型、視窗、視圖和用於控制觸控螢幕等的介面。(PS1: 可以認為是操縱介面的一個API庫)(PS2: UIKit架構是用在iOS平台上與之對應的是MAC OS X上的Application Kit,二者是姐妹架構,作用和目的沒啥太大區別(我沒有說實現目的的過程也一樣),表混淆了)

2. 架構的入口:

#import <UIKit/UIKit.h> 

當引入此標頭檔後,便可以在程式裡使用任何在UIKit裡聲明的類。(PS: 當然還要把這個架構連結到你的應用程式中)。

 

3、架構中,每個類的簡單說明(原文連結:http://www.jianshu.com/p/ae3ab9fdc23c)

1.UIAcceleration:

被叫做加速事件的一個UIAcceleration類的執行個體是用來代表即時的三維加速資料。為了接收重力加速度,要註冊一個應用應用程式作為一個共用UIAccelerater對象的委派物件(參考UIAcceleromete類)。

2. UIAccelerater:

UIAccelerater類可以讓你的寄存器接收到從板載硬體上得到的加速相關資料。當裝置移動時,它的硬體能夠報告沿主線在三維空間中的線性加速度變化。你可以利用這些資料來檢測器件的電流方向和該方向的瞬時變化。你可以使用這瞬時變化輸入到一個遊戲或者啟動應用程式中的一些行動。

3. UIaccessibilityElement

UIAccessibilityElement類封裝的項目資訊對一些特殊的人可見,預設情況下是不可訪問的。例如,一個表徵圖或文字映像不會自動訪問,因為它沒有繼承的UIView(或UIControl)。一個包含等非視圖的項目,建立一個執行個體來表示每個項目需要訪問的UIAccessibilityElement。

4.UIBarItem

UIBarItem是一個抽象的超類用來在螢幕的底部給項目加上一欄。帶欄的條目類似於一個按鈕的方式。他們有標題,有圖片,動作和目標。你可以在項目中啟用和禁用一個帶欄條目。

(1)UIBarButtonItem

一個欄按鈕項目是放置在一個UIToolbar或UINavigation對象專門的按鈕。它從它的抽象父類,UIBarItem繼承的基本按鈕的行為。UIBarButtonItem定義額外的初始化方法和屬性,使用工具列和導覽列。

(2)UITabBarItem

UITabBarItem類實現了一個帶標籤欄的項目,UITabBar類的執行個體。一個標籤欄嚴格地以收音機模式來運作,其中一個項目是在選定的時間,點擊標籤欄項目切換上面的標籤欄。您還可以指定在標籤欄上項目的資訊,例如加入額外的視覺徽章值,電話應用程式上使用該項目的徽章,以顯示新郵件的數量。這個類還提供了一些系統預設建立的項目。

5.UIBezierPath

UIBezierPath類,您可以定義一個路徑由直線和曲線的線段組成,並呈現在您的自訂視圖路徑。您可以使用這個類,最初只是為您的路徑中指定的幾何形狀。路徑可以定義簡單的形狀,如矩形,橢圓形和圓弧,或他們可以定義

雜的多邊形,採用直線和曲線線段的混合物。定義的形狀後,您可以使用這個類的其他方法來呈現當前圖形內容相關的路徑。

6.UIColor

一個UIColor對象代表的顏色,有時不透明(alpha值)。您可以使用UIColor對象來儲存顏色資料,並在繪畫過程中,你可以用它們來設定當前填充和筆觸顏色。

7.UIDecive

UIDevice類提供了一個單個執行個體代表當前裝置。從這個執行個體中,可以擷取有關裝置的唯一的ID,分配名稱,裝置型號,和作業系統名稱和版本等資訊。您也可以使用的UIDevice執行個體,檢測裝置的特點,如物理方向的變化。使用方向屬性得到當前的方向,或註冊UIDeviceOrientationDidChangeNotification通知收到更改通知。在使用這些技術來獲得定位元據之前,你必須使資料傳遞,使用的beginGeneratingDeviceOrientationNotifications方法。當您不再需要跟蹤裝置的方向,調用endGeneratingDeviceOrientationNotifications方法來禁用交付的通知..

8.UIDocumentInteractionController

一個檔案互動控制器一起委派物件,提供應用程式管理與本地系統中的檔案的使用者互動的支援。例如,一個電子郵件程式可能使用這個類,允許使用者預覽附件和其他應用程式中開啟它們。使用這個類,目前預覽相應的使用者介面,開啟,複製或列印指定的檔案。

9.UIEvent

一個UIEvent對象(或者簡單地說,一個事件對象)代表在IOS的事件。一般有三種類型的事件:觸摸事件,運動事件和遠端控制的事件,。遠端控制的事件使一個Responder對象來接收來自外部的附件或耳機的命令,以便它可以管理管理音頻和視頻,例如,播放視頻或跳過到下一音軌。

10.UIFont

UIFont類提供了用於擷取和設定字型資訊的介面。類提供了訪問字型的特點,還提供了訪問,這是在版面配置階段中中使用的字型的字形資訊系統。他們通過接受它們作為參數的方法,您可以使用字型對象。

11.UIGestureRecognizer

UIGestureRecognizer是一個具體的手勢識別類的抽象基類。一個手勢識別對象(或簡單地說,一個手勢識別)中分離出來承認這種認識上的姿態和行動的邏輯。當這些對象之一承認一個共同的姿態,或者,在某些情況下,改變的姿態,它發送一個動作訊息,每一個指定的目

物鏡。以下胃具體的子類:

(1)UITapGestureRecognizer

單個或多個塞子。指定數量的手指必須要承認的姿態,挖掘查看指定的次數。

(2)UIPinchGestureRecognizer

看起來捏的手勢,涉及兩個接觸。當使用者將兩個手指,向對方的傳統意義是縮小;當使用者將兩個手指從彼此遠離,傳統意義變焦。

(3)UIRotationGestureRecognizer

看起來輪換涉及兩個觸摸手勢。當使用者移動手指對面對方的圓周運動,基本的觀點應該在相應的方向和速度旋轉。

(4)UISwipeGestureRecognizer

看起來刷卡在一個或多個方向的手勢。抨擊是一個獨立的姿態,因此,相關的操作的訊息發送每個手勢只有一次。

(5)UIPanGestureRecognizer

看起來平移(拖動)的手勢。使用者必須按查看上一個或更多的手指,而他們平移。實施這個手勢識別動作方法的用戶端可以要求它目前的翻譯和手勢的速度。

(6)UILongPressGestureRecognizer

看起來長按手勢。使用者必須按下一個或更多的手指行動訊息傳送至少指定期限。此外,手指可能要承認的姿態移動唯一指定的距離;如果他們超越這個限制的姿態失敗。

12.UIImage

一個UIImage對象是一個高層次的的方式來顯示映像資料。您可以從檔案中建立的映像,從石英映像中的物體,或從您收到的原始映像資料。UIImage的類還提供映像繪製到當前圖形的上下文中,使用不同的混合模式和不透明度值的幾種選擇。

13.UILocalizedIndexedCollation

UILocalizedIndexedCollation類方便為有部分指數的圖表進行組織,整理,以及資料本地化。表視圖的資料來源,然後使用排序對象提供的輸入節的標題和節索引標題的表視圖。

14.UILocalNotification

UILocalNotification執行個體表示,應用程式可以提交給它的使用者在特定的日期和時間安排的通知。作業系統是負責在適當的時間提供通知;沒有要運行發生的應用程式。雖然本地的通知類似,因為它們是用於顯示警報,播放聲音和徽章的應用程式圖示,遠程通知,它們是組成和本地傳遞,不需要與遠程伺服器串連。

15.UIMenuController

他單身UIMenuController執行個體介紹了菜單介面的剪下,複製,粘貼,選擇,選擇,和刪除命令。

16.UINavigationItem

UINavigationItem類封裝了一個UINavigationBar對象的堆棧上推導航項目的資訊。一個導覽列是用於控制導航層次的內容。一個UINavigationItem指定什麼是導覽列上的顯示,當它是頂部的項目,也代表它是如何時,後面的項目。

17.UINib

UINib類的執行個體作為對象封裝或容器,InterfaceBuilder的nib檔案。一個UINib對象在記憶體中緩衝的一個nib檔案的內容,准

解檔和執行個體。當您的應用程式需要執行個體化的nib檔案的內容,它可以這樣做,而不必從nib檔案載入資料,從而提高效能。UINib對象可以自動釋放該緩衝筆尖資料免費為您的應用程式記憶體在低記憶體條件下,重新裝載資料下一次你的應用程式執行個體筆尖。您的應用程式應該使用UINib對象時,它需要反覆執行個體相同的筆尖資料。例如,如果您的表視圖使用nib檔案執行個體表視圖細胞,緩衝中UINib對象的筆尖可以提供顯著的效能改善。

18.UIPasteboard

UIPasteboard類允許應用程式共用應用程式內部或與其他應用程式使用的全系統或應用程式特定的黏貼板的資料。

19.UIPopoverController

UIPopoverController類是用於管理在popover中內容的呈現。你使用popovers暫時地呈現目前資訊暫時而且用一種不超過整個螢幕就像一個模態視圖的方式。popover內容是你在一個特殊類型的視窗的現有內容上分層。popover仍然可見,直到使用者水龍頭以外的popover視窗或你明確駁回。Popover控制器為iPad等裝置的提供使用僅限。嘗試在其他裝置結果出現異常時進行新的一個建立。

20.UIPrintFormatter

UIPrintFormatter時列印格式化的抽象基類:展示了傳統的可列印的內容對象可以跨頁邊界。由於列印格式化,列印系統,可以自動列印與列印格式化的內容相關聯的類型。以下為UIPrintFormatter的子類:

(1)UISimpleTextPrintFormatter

UISimpleTextPrintFormatter類的執行個體進行布局列印純文字,可能是多個頁面。類允許您指定的印刷文字全球的字型,顏色,對齊線,和分行符號的模式屬性。

(2)UIMarkupTextPrintFormatter

UIMarkupTextPrintFormatter類的執行個體展示了一個多頁列印工作的HTML標記文本。

(3)UIViewPrintFormatter

UIViewPrintFormatter類的一個執行個體,勾畫出用於列印的視圖繪製的內容。視圖的內容可以跨越多個頁面。

21.UIPrintInfo

一個UIPrintInfo對象封裝了有關列印工作的資訊,包括印表機標識,作業名稱,輸出類型(照片,正常,灰階),方向(縱向或橫向),和任何選定的雙工模式,。列印系統列印時,使用此資訊。

22.UIPrintInteractionController

UIPrintInteractionController類的共用執行個體,提出了印刷的使用者介面和管理的檔案,映像和其他可列印的內容在iOS列印。UIPrintInteractionController是IOS中央印刷類。它的共用執行個體代表一個列印工作。列印工作,包括其印刷相關的資訊和選項,如輸出類型,作業名稱,紙張大小和方向,要列印的內容。

23.UIPrintPageRenderer

一個UIPrintPageRenderer對象繪製要列印頁的內容帶或不帶列印格式化.A頁面的渲染就是UIPrintPageRenderer自訂子類的一個執行個體。當您撰寫列印工作使用的UIPrintInteractionController共用執行個體,您指定的頁面渲染到該執行個體的printPageRenderer屬性。

24.UIPrintPaper

UIPrintPaper類的一個執行個體封裝使用的紙張尺寸,列印工作,並在其中的內容可以列印的矩形。

25.UIResponder

UIResponder類定義了一個介面,應對和處理事件的對象。它是UIApplication,UIView和它的子類(包括UIWindow中)的超類。這些類的執行個體有時被稱為作為響應者對象或簡單地說,應答。

(1)UIApplication

UiApplication類,提供了一個在iOS上啟動並執行應用程式的控制和協調集中點。每個應用程式必須具有完全的UIApplication的一個執行個體(或子類UIApplication)。當一個應用程式啟動時,UIApplicationMain函數被調用,在其他任務中,這個函數建立了一個單身的UIApplication對象。此後,您可以通過這個對象調用sharedApplication類方法。

(2)UIViewController

UIViewController類提供iPhone應用程式的基本觀點的管理員模式。基本視圖控制器類支援相關聯的視圖的示範,為管理員模式視圖提供支援,並支援在響應裝置方向變化旋轉的意見。象UINavigationController和UITabBarController的這樣的子類,如提供管理複雜的階層視圖控制器和視圖的其他行為。

1)UITabBarController

UITabBarController類實現了一個專門的視圖控制器管理一個廣播式的選擇介面。不適用於這個類的子類。相反,您可以使用它的執行個體去呈現允許使用者在不同的操作模式之間進行選擇的介面。這個標籤欄介面顯示在視窗底部的定位字元之間的不同模式從而用來顯示模式的意見選擇。

2)UITableViewController

UITableViewController類建立一個控制器對象,管理表視圖。

3)UINavigationController

UINavigationController的類實現了一個專門的視圖控制器管理層次的內容導航。不適用於這個類的子類。相反,您可以使用執行個體當你希望你的應用程式的使用者介面能夠反映您的內容的層次性。此導航介面使你更有效展現資料而且更容易讓使用者瀏覽內容。

3-1)UIImagePickerController

UIImagePickerController類管理定製的和系統提供的使用者介面,支援的裝置上的圖片和電影,並選擇把使用的圖片和電影儲存在您的應用程式中。的映像選取器控制器系統管理使用者互動和委派物件提供這些相互作用的結果。

3-2)UIVideoEditorController

一個UIVideoEditorController對象,或視頻編輯器,通過修剪從以前錄製的電影的開始和結束的視訊框架,以及重新編碼降低品質來管理系統提供的使用者介面。對象管理的使用者互動,並提供您的委派物件編輯的電影檔案系統路徑。UIVideoEditorController類的特點是僅適用於裝置,可使用視訊錄製。

(3)UIView

UIView類通過定義一個在螢幕和介面上的矩形地區來管理這塊地區的內容。在運行時,視圖對象處理其地區內的任何內容渲染,還處理與該內容的任何相互作用。UIView類本身提供了基本行為的背景顏色填充矩形地區。更加複雜的內容,可以通過繼承UIView和實施必要的繪圖和自身事件處理代碼來展現。UIKit架構還包括一個

準的子類可以使用的範圍從簡單的按鈕到複雜的表集。例如,一個UILabel對象繪製一個文本字串和一個UIImageView對象繪製一個映像。

1)UIWindow

UIWindow類定義,管理和協調的Windows應用程式顯示在螢幕上的對象(如Windows)。一個視窗的兩個主要職能是,為顯示其意見面積和分發活動的意見。視窗是在視圖層次的根。一個視窗屬於一個層級;一個層級的視窗出現另一個層面以上。例如,警報出現高於正常的視窗。通常情況下,只有一個在IOS應用程式的視窗。

2)UILabel

UILabel類實現一個唯讀文本視圖。您可以使用這個類的靜態文本,如你可能會使用它來識別你的使用者介面的其他部分,繪製一個或多個行。基本UILabel類提供控制文本的外觀,包括它是否使用了一層陰影,或汲取的一大亮點。如果需要,您可以自訂文本的外觀進一步通過繼承。

3)UIPickerView

UIPickerView類實現對象,所謂的選取器的看法,即使用一個紡車或老虎 機的比喻來顯示一個或多個值集。使用者可以選擇旋轉的車輪,使所需的行的值與選擇的指

之間的對應關係值。UIDatePicker類使用一個自訂子類的UIPickerView顯示日期和時間。為了看一個例子,挖掘在時鐘應用程式警示窗格添加(“+”)按鈕。

4)UIProgressView

當一個郵件應用程式下載訊息時它的進度條會在應用程式的底部顯示。UIProgressView類提供了管理風格的進度條,用於擷取和設定值是固定的任務的進度的屬性。

5)UIActivityIndicatorView

UIActivityIndicatorView類建立和管理一個指標用來顯示不確定的任務進度。從外觀上看,這個指

是一個“齒輪”是動畫旋轉。

6)UIImageView

映像的視圖對象提供了一個用於顯示單個映像或者一系列動畫映像的基於視圖的容器。對於動畫映像,UIImageView的類提供設定動畫的期間和頻率的控制。您還可以啟動和停止動畫自由。

7)UITabBar

UITabBar類實現了一個選擇兩個或多個按鈕的控制,並稱之為項目。一個標籤欄最常見的用途是實現一個模態介面攻一個項目的變化選擇。如果你想暫時突出或不會改變某個項目的外觀時,輕按按鈕,使用一個UIToolbar對象。UITabBar類提供為使用者定製能力重新排欄標籤欄,刪除和酒吧中添加項目。您可以使用標籤欄的委託,以增加這種行為。

8)UIToolBar

一個工具列是顯示一個或多個按鈕被稱之為工具列項一種控制。當被輕按時工具列瞬間突出或不改變某個項目的外觀。

9)UINavigationBar

UINavigationBar類實現了一個層次的內容導航控制。它的一個條形欄,通常顯示在螢幕上方,包含用於導航的向上和向下一個層次的按鈕。主要屬性是左(後退)按鈕,中心的名稱和一個可選的右邊的按鈕。您可以指定這些自訂視圖。

10)UITableViewCell

的UITableViewCell類定義的細胞出現在UITableView的對象的屬性和行為中。

11)UIActionSheet

使用UIActionSheet類可以把一套如何繼續給定任務的替代品給使用者。您還可以使用行動表,以提示使用者確認是否有潛在危險的行動。該行動表包含一個可選的標題和一個或多個按鈕,其中每個對應採取的行動。

12)UIAlterView

使用UIAlertView類向使用者顯示一條警告訊息。警示檢視的功能相似,但在外觀上不同於一個動作表(UIActionSheet的一個執行個體)。

13)UIScrollView

UIScrollView的類提供支援顯示的內容是大於應用程式的視窗大小。它可以使使用者內滾動的內容,通過刷卡手勢,和捏的手勢放大和部分內容。

13-1)UITextView

UITextView的類實現一個滾動的,多行文本地區的行為。類支援使用自訂字型,顏色,和對齊的文本的顯示,同時還支援文本編輯。通常可以使用一個文本視圖,顯示多行文本,如顯示一個大的文字檔的身體時,。

13-2)UITableView

的UITableView(或簡單地說,表視圖)的一個執行個體是用於顯示和編輯分層列出的資訊的一種手段。

14)UISearchBar

UISearchBar類實現一個基於文本的搜尋的文字欄位控制。該控制項提供了一個搜尋按鈕,輸入文字的文字欄位書籤“按鈕,一個取消按鈕。UISearchBar對象實際上並不執行任何搜尋。您可以使用委託,符合UISearchBarDelegate協議的對象,實施行動時,輸入文本和按鈕被點擊。

15)UIWebView

您使用了UIWebView類,在您的應用程式中嵌入網頁內容。要做到這一點,你只需建立一個UIWebView對象,將它附加到一個視窗,它發送一個請求載入網頁內容。您也可以使用這個類在網頁的曆史向前和向後移動,你甚至可以設定一些網頁內容屬性的編程。

16)UIControl

UIControl是為控制對象,如使用者的意圖傳達到應用程式的按鈕和滑塊的基類。你不能直接使用UIControl類執行個體化控制。相反,它定義了共同的介面和它的所有子類的行為結構。

16-1)UIButton

UIButton的類的一個執行個體,實現了在觸控螢幕上的按鈕。觸摸一個按鈕攔截事件和動作訊息發送到目標對象時。設定的目

和行動方法都繼承自UIControl。這個類提供了方法來設定標題,映像,按鈕等外觀屬性。通過這些訪問,您可以為每個按鈕狀態指定一個不同的外觀。

16-2)UIDatePicker

UIDatePicker類實現了一個對象,它使用多個旋轉的車輪,以允許使用者選擇日期和時間。iPhone的例子是一個日期選取器,定時器和鬧鐘設定鬧鐘的時鐘應用程式中的窗格。您也可以使用日期選取器作為一個倒數計時器。

16-3)UIPageControl

您可以使用UIPageControl類來建立和管理頁面控制。一個頁面控制是在控制中心的點繼承。每個點對應一個應用程式的文檔(或其他實體的資料模型)頁面,白色圓點表示當前瀏覽的網頁。

16-4)UISegmentedControl

一個UISegmentedControl對象是橫向控制多個段,每個段作為一個獨立的按鈕運作。分段控制提供一個緊湊的手段,組合到一起的控制。

16-5)UITextField

UITextField對象是一個顯示可編輯的文字和動作訊息發送到目標對象,當使用者按下返回按鈕控制。通常可以使用這個類從使用者收集少量的文字,並執行一些立即採取行動,如搜尋操作,根據該文本。

16-6)UISlider

一個UISlider對象是一個可視化的控制,用來選擇一個連續值範圍從單一的值。滑塊始終顯示為單杠。指

,或拇指,注意到滑塊的當前值,並更改設定的使用者可以通過移動。

16-7)UISwitch

您可以使用UISwitch類來建立和管理ON/ OFF按鈕,您會看到,例如在飛航模式等服務的偏好設定(設定)。這些對象被稱為開關。

26.UIScreen

一個UIScreen對象包含裝置的整個螢幕的邊界矩形。當設定應用程式的使用者介面,你應該使用這個對象的屬性,能為您的應用程式的視窗的建議的架構矩形。

27.UIScreenMode

一個UIScreenMode對象表示的,可以應用到一個UIScreen對象的屬性可能。該對象封裝了有關螢幕的底層顯示緩衝區的大小和使用單個像素的寬高比資訊。

28.UISearchDisplayController

搜尋顯示控制器管理一個搜尋欄,顯示表視圖顯示另一種觀點認為控制器管理的資料搜尋的結果。

29.UITextChecker

您使用的UITextChecker類的執行個體來檢查拼字錯誤的單詞字串(通常是文檔中的文本)。

30.UITextPosition

一個UITextPosition對象代表一個文本容器中的位置,換句話說,它是一個到在文本顯示的支援字串的索引。

31.UITextRange

一個UITextRange對象代表一個字元在文本容器的範圍,換句話說,它確定一個起始索引和結束索引一個字串,支援一個文本輸入對象。

32.UITouch

一個UITouch對象表示存在一個特定事件的螢幕上用手指或運動。你可以通過UIEvent對象傳遞到事件處理響應對象UITouch對象。

iOS UIKit架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.