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對象。