UIKit reference introduction
先看看這個(gè)層級(jí)結(jié)構(gòu)圖吧:
UIAcceleration:
加速計(jì)類: 加速度實(shí)為UIAcceleration對(duì)象實(shí)例,又被稱為加速事件,它代表即時(shí)的三維空間上,三個(gè)不同軸上的加速度數(shù)據(jù)。

實(shí)用的場(chǎng)景中可以用于“搖晃”,游戲中用于控制對(duì)象移動(dòng)等。
iOS 5.0之后,它被放在了 CoreMotion 框架里
UIAccelerometer
獲得當(dāng)前設(shè)備的加速計(jì)單例,里面的delegate 可以獲得 UIAcceleration 的實(shí)例
iOS 5.0之后,它被放在了 CoreMotion 框架里
UIAccessibilityElement
這個(gè)類封裝的是可便捷的訪問(wèn)信息,主要是針對(duì)一些特殊人群,比如顏色識(shí)別有困難,殘障人士等。 默認(rèn)情況下你的設(shè)備設(shè)定中是不開(kāi)啟的,如果你要開(kāi)啟時(shí),可以在設(shè)置里的Accessibility中打開(kāi)相應(yīng)的輔助功能。
原生的UI組件的isAccessibilityElement
默認(rèn)是YES的。自定義的UI組件的isAccessibilityElement屬性是NO,當(dāng)isAccessibilityElement
為NO時(shí),instruments將無(wú)法捕獲。所以這種情況,我們需要將自定義UI的的isAccessibilityElement屬性置為YES,instruments就能獲取到。
UIBarItem
UIBarItem 是一個(gè)抽象的超類,用來(lái)在Bar上添加道具。 類似于一個(gè)按鈕。有標(biāo)題,有圖片,動(dòng)作和 目標(biāo)。
UIBarButtonItem
這個(gè)類的實(shí)例是用在 UIToolbar 或 UINavigationBar 上的專用對(duì)象按鈕。它從它的抽象父類 UIBarItem 繼承的基本按鈕的行為。比如 NavigationBar 的返回,關(guān)閉按鈕。
UITabBarItem
這個(gè)類的實(shí)現(xiàn),用于 Tabbar 上的按鈕對(duì)象。
UIBezierPath
UIBezierPath類可以創(chuàng)建基于矢量的路徑。
此類是Core Graphics框架關(guān)于path的一個(gè)封裝。使用此類可以定義簡(jiǎn)單的形狀,如橢圓或者矩形,或者有多個(gè)直線和曲線段組成的形狀。
它還提供了添加二次貝塞爾曲線和三次貝塞爾曲線的支持。
UIColor
繪制UI中用的最多的一個(gè)類了吧,一個(gè) UIColor 對(duì)象代表顏色,alpha 值。可以使用 UIColor 對(duì)象來(lái)存儲(chǔ)顏色數(shù)據(jù),并在繪畫(huà)過(guò)程中,你可以用它們來(lái)設(shè)置當(dāng)前填充和筆觸顏色。
UIDecive
UIDevice類提供了一個(gè)單例代表當(dāng)前設(shè)備。從這個(gè)實(shí)例中,可以獲取有關(guān)設(shè)備的唯一的ID,分配名稱,設(shè)備型號(hào),和操作系統(tǒng)名稱和版本等信息。也可以使用的UIDevice實(shí)例,檢測(cè)設(shè)備的特點(diǎn), 如物理方向的變化。
常用在判斷 iOS 版本。
UIDocumentInteractionController
文件交互控制器委托對(duì)象,提供應(yīng)用程序管理與本地系統(tǒng)中的文件的用戶交互的支持。例如,一個(gè)電子郵件程序可能使用這個(gè)類,允許用戶預(yù)覽附件和其他應(yīng)用程序中打開(kāi)它們。使用這個(gè)類, 目前預(yù)覽相應(yīng)的用戶界面,打開(kāi),復(fù)制或打印指定的文件。
一般在程序間共享文檔可以通過(guò)UIDocumentInteractionController(該類經(jīng)常被開(kāi)發(fā)者忽略),用其它APP預(yù)覽PDF文檔等。
第三方程序只需要通過(guò)在info.plist 中注冊(cè)支持的相關(guān)格式,并安裝到ios設(shè)備中,便可以自由打開(kāi),無(wú)需你程序中自己檢測(cè)第三方程序是否安裝,而且文件之間的傳輸也實(shí)現(xiàn)了跨出沙盒的功能。
UIEvent
一個(gè) UIEvent 對(duì)象(或者簡(jiǎn)單地說(shuō),一個(gè)事件對(duì)象)在 IOS 中有三種類型的事件:觸摸事件(Touch),運(yùn)動(dòng)事件(Motion)和遠(yuǎn)程控制(RemoteControl)事件。遠(yuǎn)程控制的事件使一個(gè) Responder 對(duì)象來(lái)接收來(lái)自外部的 附件或耳機(jī)的命令,以便它可以管理管理音頻和視頻,例如,播放視頻或跳過(guò)到下一音軌。

觸摸事件,會(huì)經(jīng)過(guò)一系列的響應(yīng)鏈,最后被 UIResponder 接受到。并回調(diào):touchesBegan:withEvent: 方法。
UIFont
同樣常用的字體設(shè)定類,提供了用于獲取和設(shè)置字體信息的接口。
除了使用系統(tǒng)指定的字體外,還可以使用自定義的字體,只需要將自定義字體加到你的工程資源文件中,并在 info.plist 文件中增加一名為 UIAppFonts 的key。將這個(gè)key修改成array 將你用到的所有字體的名字,作為這個(gè)array的值,一項(xiàng)一項(xiàng)填進(jìn)去(包括擴(kuò)展名),然后就可以在代碼中直接用[UIFont fontWithName:@”CustomFontName” size:12]取得自定義的字體了。
UIGestureRecognizer
UIGestureRecognizer 是手勢(shì)識(shí)別的抽象基類。它有以下具體的子類:
UITapGestureRecognizer: 點(diǎn)擊手勢(shì),可以識(shí)別單次與多次點(diǎn)擊 UIPinchGestureRecognizer: 縮放手勢(shì) UIRotationGestureRecognizer: 旋轉(zhuǎn)手勢(shì) UISwipeGestureRecognizer: 滑動(dòng)手勢(shì) UIPanGestureRecognizer: 拖動(dòng)手勢(shì) UILongPressGestureRecognizer: 長(zhǎng)按手勢(shì)
UIImage
UIImage 封裝了顯示圖片的高層級(jí)方法,你可以從 文件 ,Quartz ,原始圖片數(shù)據(jù)對(duì)象(相機(jī),掃描儀等)中創(chuàng)建。
支持的文件格式:
.tiff, .tif, .jpg, .jpeg, .gif, .png, .bmp, .BMPf, .ico, .cur, .xbm
可通過(guò) UIImagePickerController 類從iPhone照片庫(kù)或照相機(jī)獲取圖像
UILocalizedIndexedCollation
提供索引標(biāo)題的類,常用在TableView的右方索引列。
UIMenuController
菜單控制器,默認(rèn)的單例方法,提供了剪切,復(fù)制,粘貼, 選擇,選擇,和刪除功能。你也可以創(chuàng)建自定義的 UIMenuController,
UIMenuItem
是UIMenuController 的 menuItems 數(shù)組里的每個(gè)實(shí)例。你可以自行定義他們,它只需要兩個(gè)屬性,title 與 action (SEL)
UINavigationItem
一個(gè)UINavigationItem 管理顯示在 UINavigationBar 上的按鈕和視圖對(duì)象。每個(gè) View Controller push 到 navigation 棧上,必須有一個(gè)在 NavigationBar 上包含按鈕與被顯示的視圖 UINavigationItem 對(duì)象。
UINib
UINib 可以從 Interface Builder nib 文件中將數(shù)據(jù)進(jìn)行封裝,并將它進(jìn)行實(shí)例化緩存起來(lái)。當(dāng)你需要用到 nib 時(shí),不必去讀 nib 文件了。
比如:
// Load the hoverView from HoverView.xib UINib *hoverViewXib = [UINib nibWithNibName:@"HoverView" bundle:nil]; [hoverViewXib instantiateWithOwner:self options:nil];
UIPasteboard
讀寫(xiě)系統(tǒng)里的剪貼版內(nèi)容
UIPopoverController
iPad 里的專有 Controller, 效果如下:

UIPrintFormatter
打印格式的抽象基類,可定制打印的頁(yè)邊距等。具體實(shí)現(xiàn)類有如下三種:
UISimpleTextPrintFormatter UIMarkupTextPrintFormatter UIViewPrintFormatter
UIPrintInfo
封裝了關(guān)于打印工作的信息,包括打印的id,名稱,輸出類型,方向,雙面打印模式。當(dāng)它需要打印時(shí),這些信息會(huì)被打印系統(tǒng)使用。
UIPrintInteractionController
它包括了打印的UI與,打印文稿,圖片和其它打印內(nèi)容之間的典型交互情景。你可以使用 UIPrintInteractionController 單例方法,將整個(gè)打印過(guò)程進(jìn)行控制。

UIResponder
該UIResponder類定義了響應(yīng)和處理事件的對(duì)象接口。它是UIApplication,UIView的和它的子類(包括UIWindow)的父類。這些類的實(shí)例通常被作為應(yīng)答對(duì)象,或者簡(jiǎn)單地說(shuō),應(yīng)答者。
通常有兩種類型的事件:觸摸與運(yùn)動(dòng)事件。主要的觸摸事件處理方法有 touchesBegan:withEvent:,touchesMoved:withEvent:, touchesEnded:withEvent:, and touchesCancelled:withEvent:. 這些方法的參數(shù)和他們新的,或有改變的特別觸摸事件有關(guān)。這樣響應(yīng)對(duì)象可以跟蹤和處理這些事件。任何時(shí)候當(dāng)手指觸摸屏幕,拖動(dòng),抬起時(shí),UIEvent 對(duì)象都會(huì)被創(chuàng)建,這個(gè)事件對(duì)象包括了所有剛從屏幕抬起時(shí)的手指的 UITouch 對(duì)象。
-touchesBegan:withEvent: // 當(dāng)用戶觸摸到屏幕時(shí)調(diào)用方法-touchesEnded:withEvent: // 當(dāng)用戶觸摸到屏幕并移動(dòng)時(shí)調(diào)用此方法-touchesMoved:withEvent: // 當(dāng)觸摸離開(kāi)屏幕時(shí)調(diào)用此方法-touchesCancled:withEvent: // 當(dāng)觸摸被取消時(shí)調(diào)用此方法
通俗一點(diǎn)說(shuō),一個(gè) UIResponder 對(duì)象表示一個(gè)可以接收觸摸屏上的觸摸事件的對(duì)象, iOS 中,所有顯示在界面上的對(duì)象都是從 UIResponder 直接或間接繼承的。
iOS 3 之后開(kāi)始支持運(yùn)動(dòng)事件:
-motionBegan:withEvent: // 運(yùn)動(dòng)開(kāi)始時(shí)執(zhí)行-motionEnded:withEvent: // 運(yùn)動(dòng)結(jié)束時(shí)執(zhí)行-motionCancled:withEvent: // 運(yùn)動(dòng)被取消時(shí)執(zhí)行
iOS 4 之后開(kāi)始支持遠(yuǎn)程控制事件:
-remoteControlReceivedWithEvent
接收事件之后,使用到的響應(yīng)鏈函數(shù) -nextResponder
下一個(gè)響應(yīng)者,在通常的UIView 實(shí)現(xiàn)中,一般會(huì)返回父級(jí)對(duì)象
所以你可以自行改變響應(yīng)鏈的響應(yīng)路徑
響應(yīng)鏈](https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/event_delivery_responder_chain/event_delivery_responder_chain.html#//apple_ref/doc/uid/TP40009541-CH4-SW2)
-isFirstResponder 指示對(duì)象是否為第一響應(yīng)者,這里的第一響應(yīng)者就是當(dāng)前焦點(diǎn)-canBecomeFirstResponder 布爾值,指定對(duì)象是否可以變?yōu)榈谝豁憫?yīng)者-becomeFirstResponder 把對(duì)象設(shè)置為 firstResponder-canResignFirstResponder 對(duì)象是否可以取消 firstResponder-resignFirstResponder 注銷 firstResponder
UIApplication
這個(gè)UIApplication類提供運(yùn)行在 iOS 上的 app 的集中協(xié)調(diào)與控制中心,每個(gè) app 只有一個(gè)它的實(shí)例。當(dāng) app 啟動(dòng)時(shí),UIApplicationMain 函數(shù)被調(diào)用,他會(huì)創(chuàng)建一個(gè) UIApplication的單例對(duì)象。之后,你就可以通過(guò) sharedApplication 類方法訪問(wèn)到它。
如我們?cè)?main.c 文件中看到的:
return UIApplicationMain(argc, argv, nil, NSStringFromClass([SomeAppDelegate class]));
UIApplication 的主要任務(wù)是處理傳入的用戶事件的初始路由。此外,他還維護(hù)所有當(dāng)前打開(kāi)的窗口列表(UIWindow 對(duì)象),所以通過(guò)它你可以檢索到應(yīng)用程序的UIView對(duì)象。
這個(gè)app對(duì)象通常分配一個(gè) delegate,接受一些運(yùn)行時(shí)的標(biāo)致性的通知,比如:app 啟動(dòng),低內(nèi)存,app 關(guān)閉,然后作出響應(yīng)。
UIApplication 允許你管理設(shè)備的以下幾種行為:
控制界面方向掛起傳入的觸摸事件接近感應(yīng)(用戶面部)開(kāi)和關(guān)注冊(cè)遠(yuǎn)程通知觸發(fā)撤銷重做 UI判斷是打開(kāi)app 還是 URL退到后臺(tái)時(shí)繼續(xù)執(zhí)行任務(wù)注冊(cè)或取消本地通知執(zhí)行 app 級(jí)別的恢復(fù)任務(wù)
UIApplication 定義的 delegate 必須遵循 UIApplicationDelegate 協(xié)議并且實(shí)現(xiàn)一些協(xié)議的方法
UIView
UIView 類定義了一個(gè)矩形區(qū)域和管理該區(qū)域的接口。在運(yùn)行時(shí),一個(gè) view 對(duì)象在它的區(qū)域內(nèi)進(jìn)行繪制和處理這些內(nèi)容的交互。UIView 類本身也提供了一些帶背景色的基本填充行為。更多精妙的內(nèi)容,可以通過(guò)你自定義的子類實(shí)現(xiàn)一些所須的繪制和交互處理達(dá)成。
另外UIKit 框架也自帶了一些標(biāo)準(zhǔn)子類,從簡(jiǎn)單的按鈕到復(fù)雜的表格都能被使用。例如: UILabel 可以繪制文本內(nèi)容,UIImageView 繪制一個(gè)圖片.
參考: View 與 Window 架構(gòu)
View 動(dòng)畫(huà)
UIWindow
UIWindow 類定義了被稱為 window 的對(duì)象,它用來(lái)管理和協(xié)調(diào)在設(shè)備屏幕上出現(xiàn)的view。除非app有其它外部屏幕上,否則一個(gè)app只有一個(gè) window
一個(gè) window的主要兩個(gè)功能是提供view的顯示區(qū)域和發(fā)配事件到view上,要想改變你的顯示內(nèi)容,你可以改變 window的 root view ,但你不能創(chuàng)建一個(gè)新的 window. 一個(gè) window有一個(gè)明確的等級(jí)結(jié)構(gòu), UIWindowLevelNormal--表示它相對(duì)其它 windows的z軸位置. 例如一個(gè)系統(tǒng)提示window出現(xiàn)在 normal window 上面。
UILabel
UILabel 類實(shí)現(xiàn)了只讀文本 view. 你能使用這個(gè)類畫(huà)一行或多行靜態(tài)文本。基本的 UILabel 支持簡(jiǎn)單和復(fù)雜的文本樣式。你也可以控制它上面的樣式,比如使用shadow 繪制陰影或高亮。如果需要,你可以通過(guò)子類來(lái)實(shí)現(xiàn)更加個(gè)性化的樣式。
參考: 在iOS上顯示文本內(nèi)容
UIPickerView
UIPickerView 的實(shí)現(xiàn)對(duì)象叫做 picker view, 它使用類似角子機(jī)(賭場(chǎng)里經(jīng)常見(jiàn)的777機(jī)器)來(lái)顯示一個(gè)或多個(gè)值的設(shè)置。用戶通過(guò)滾動(dòng)輪子來(lái)選擇對(duì)應(yīng)的行的值。
你也可以通過(guò)子類來(lái)定制顯示內(nèi)容。這個(gè)UI由包括(component)元件和行構(gòu)成。元件是一個(gè)滾輪,在上面是一連串一行行的索引內(nèi)容。在 picker view 上不同的元件從左至右順虛排列。每一行的內(nèi)容可以是一個(gè)字符串或view 對(duì)象。比如 UILabel 或 UIImageView.

UIProgressView
UIProgressView 類表現(xiàn)了一個(gè)進(jìn)度條描述進(jìn)展的時(shí)間。它也支持管理樣式的屬性。

UIActivityIndicatorView
使用一個(gè)動(dòng)態(tài)的指示器顯示內(nèi)容正在執(zhí)行中,它就象一個(gè)活動(dòng)的齒輪。

UIImageView
一個(gè) image view 對(duì)象支持基本的視圖容器,可以顯示單張圖片或幾個(gè)動(dòng)畫(huà)圖片。如果是動(dòng)畫(huà)圖片,UIImageView 類支持控制動(dòng)畫(huà)的持續(xù)時(shí)間和頻率,你也可以自由的開(kāi)始和停止動(dòng)畫(huà)。
*iOS 6 之后,支持 “狀態(tài)保留” 機(jī)制,同樣也可以用于這里 *
UITabBar
一個(gè) tabbar 是一個(gè)控制器,通常在tab bar controller上下文中,它顯示屏幕的底部。在 tab bar 上的每一個(gè)按鈕是一個(gè)叫 UITabBarItem 的類的實(shí)例。如果你想替換Bar上的按鈕執(zhí)行不同的 action ,可以使用 UIToolbar 對(duì)象。

UIToolbar
一個(gè) toolbar 可以控制顯示一個(gè)或更多的按鈕,叫 toolbar items. 要?jiǎng)?chuàng)建 toolbar items, 使用 UIBarButtonItem 類。 要添加 toolbar items 到 toolbar 上,使用 setItems:animated: 方法

UINavigationBar
這個(gè) UINavigationBar 類用于控制導(dǎo)航欄內(nèi)容。它是一個(gè)bar,通常顯示上屏幕的最上方。主要的屬性有一個(gè)左(返回)按鈕,一個(gè)中心標(biāo)題,和可選擇的右側(cè)按鈕。你可以使用navigation bar 作為一個(gè)標(biāo)準(zhǔn)對(duì)象或結(jié)合 navigation controller 使用.
在iOS5之后,你也可以自行定制它的樣式
UI nav bar
UITableViewCell
UITableViewCell 定義了在 UITableView 對(duì)象里的每cell的屬性和行為。這個(gè)類包括了為設(shè)置和管理 cell 內(nèi)容和背景的屬性和方法(包括文本,圖片,自定義的 view),管理 cell的選擇,高亮狀態(tài),管理附屬 view和初始編輯中 cell 內(nèi)容。
參考: TableViewCell 詳解

UIActionSheet
UIActionSheet 提供了一個(gè)單選器,你也可以通過(guò)它來(lái)提示用戶哪些是危險(xiǎn)的操作。這個(gè)Action sheet 包括一個(gè)可選擇的標(biāo)題和一個(gè)或多個(gè)按鈕,每個(gè)按鈕都代表一個(gè)action

UIAlertView
使用 UIAlertView 用于提示用戶一些信息,這個(gè) alert View 類似但和 action sheet 表現(xiàn)上不一樣。
使用類提供的屬性和方法設(shè)定 title, message, 和代理來(lái)配置按鈕。如果你要添加一個(gè)自定義的按鈕,你必須設(shè)定一個(gè)delegate. 這個(gè)代理一定要遵循 UIAlertViewDelegate 協(xié)議。使用 show 方法來(lái)顯示 alert view.

UIScrollView
UIScrollView 類提供了為顯示超過(guò)一屏的超長(zhǎng)內(nèi)容的支持。它讓用戶可以支持滑動(dòng)手勢(shì)和收縮手勢(shì)瀏覽內(nèi)容。
UIScrollView 也是一些 UIKit 類,包括 UITableView 和 UITextView 的超類。

UITableView
UITableView 實(shí)例是為顯示和編輯列表信息。

非常詳細(xì)的文檔: Table View Programming Guide for iOS
UITextView
UITextView 類實(shí)現(xiàn)了滾動(dòng)的行為,多行文本區(qū)域. 這個(gè)類支持定制的文本樣式,也支持文本編輯。通常用來(lái)顯示多行文本,比如一個(gè)比較長(zhǎng)的文檔時(shí)。

UISearchBar
這個(gè) UISearchBar 類實(shí)現(xiàn)了一個(gè)文本控制器為搜索提供基本的文字輸入,這個(gè)控制器提供了一個(gè)文本輸入?yún)^(qū)域作為文本輸入,一個(gè)搜索按鈕,一個(gè)書(shū)簽按鈕,一個(gè)取消按鈕。這個(gè) UISearchBar 對(duì)象實(shí)現(xiàn)上不執(zhí)行搜索操作,你需要使用 遵循 UISearchBarDelegate 協(xié)議的delegate,當(dāng)文本輸入和按鈕點(diǎn)擊時(shí)實(shí)現(xiàn)它的action。

UIWebView
你可以在應(yīng)用使用 UIWebView 類嵌入 web 內(nèi)容。你可以非常簡(jiǎn)單的創(chuàng)建 UIWebView對(duì)象附加了 window上,并發(fā)送請(qǐng)求 web 內(nèi)容。你也可以使用這個(gè)類進(jìn)行返回前進(jìn)到歷史頁(yè)面,并且你甚至可以以編程方式設(shè)定 web 內(nèi)容屬性。
參考: Safari Web Content Guide
UIControl
UIControl 是所有 control 對(duì)象的基礎(chǔ)類,比如 UIButton 和 滾動(dòng)條 等,他將用戶的意圖傳遞給應(yīng)用。你不能直接實(shí)例化 UIControl 類, 代替它的是一些常用的UI子類.
UIControl 主要的任務(wù)是定義了一個(gè)接口,并且有一些基本實(shí)現(xiàn),當(dāng)一些事件調(diào)用時(shí),會(huì)首先調(diào)用它們到它們的對(duì)象。
為了說(shuō)明 target-action 原理,可以在Cocoa Fundamentals Guide 看"Target-Action in UIKit" 。如果要了解 Multi-Touch 事件信息,可以看 Event Handling Guide for iOS
UIControl 類也包括了 getting 和 setting control 狀態(tài)的方法,如,為了確定control是否打開(kāi)或者高亮。并且它還在內(nèi)部定義一些觸摸的跟蹤方法,這些跟蹤方法可以被子類覆蓋。

參考: About Controls
UIButton
一個(gè) UIButton的實(shí)例實(shí)現(xiàn)了在屏幕上的按鈕。當(dāng)點(diǎn)擊它時(shí)button截獲觸摸事件并發(fā)送 action 消息到 target 對(duì)象. 這個(gè)類支持設(shè)置title,image和其它外觀屬性方法。你還可以為不同的狀態(tài)設(shè)定不同的表現(xiàn)形式。

UIDatePicker
這個(gè)UIDatePicker類實(shí)現(xiàn)了一個(gè)使用多個(gè)齒輪對(duì)象,讓用戶選擇日期和時(shí)間。iPhone 時(shí)間picker例子是一個(gè)時(shí)間鬧鐘設(shè)定應(yīng)用,你也可以用它做為一個(gè)倒計(jì)時(shí)器。

UIPageControl
你可以用UIPageControl 類來(lái)創(chuàng)建和管理頁(yè)碼 control. 一個(gè)頁(yè)碼 control 顯示一個(gè)水平的連續(xù)小點(diǎn),每個(gè)點(diǎn)代表了文檔的一部分。當(dāng)前顯示的頁(yè)用白色的點(diǎn)表示。

UISegmentedControl
一個(gè) UISegmentedControl 對(duì)象是一個(gè)由多個(gè)部分組成的水平control ,每個(gè)部分作為一獨(dú)立的按鈕。
一個(gè) segmented control 可以顯示一個(gè)title (一個(gè) NSString 對(duì)象)或一個(gè)圖片(UIImage 對(duì)象).這個(gè) UISegmentedControl 對(duì)象自動(dòng)調(diào)整他們的大小比例在他們的父視圖下,除非他們有一個(gè)指定的寬度設(shè)置。當(dāng)你添加和刪除部分片段時(shí),你可以請(qǐng)求這個(gè)action ,他會(huì)有滑動(dòng)和消退效果。

UITextField
一個(gè) UITextField 也是一個(gè) control 對(duì)象,它是一個(gè)顯示可編輯文本,并且當(dāng)用戶按下return按鈕時(shí)發(fā)送 action 消息到對(duì)象。你典型的使用場(chǎng)景是,搜集用戶一定數(shù)量的文本,并且馬上執(zhí)行一些action ,比如基于文本的搜索操作。

UISilder
一個(gè) UISilder 對(duì)象是一個(gè)可視化的 control , 它使用一個(gè)連續(xù)的值范圍進(jìn)行選擇, Slider 通常顯示為水平的滑動(dòng)條。

UISwitch
你可以使用 UISwitch 類來(lái)創(chuàng)建和管理 On / Off 按鈕。例如,在設(shè)置飛行模式和藍(lán)牙設(shè)置時(shí)。

UIViewController
這個(gè) UIViewController 類提供了基本的 view 管理模型。你很少直接實(shí)例化UIViewController對(duì)象。相反,你實(shí)例化UIViewController類的子類執(zhí)行特定的任務(wù)。
視圖控制器管理一組視圖組成應(yīng)用程序的用戶界面的一部分.作為應(yīng)用程序的控制器層的一部分, 視圖控制器和其它模型對(duì)象,其它視圖控制器一起構(gòu)成了一個(gè)一致的用戶界面。
必要時(shí),一個(gè)視圖控制器可以:
調(diào)整和排版他們的 view
調(diào)整 view 里的內(nèi)容
當(dāng)用戶與他們交互時(shí),反應(yīng)他們與視圖的效果。
參考: View Controller Programming Guide for iOS
UISplitViewController
UISplitViewController是一個(gè)管理包含了兩邊ViewController的視圖控制器,你使用這個(gè)類去實(shí)現(xiàn)主-從界面, 在左邊顯示的是列表視圖控制器,右邊是左邊點(diǎn)擊后的詳細(xì)視圖控制器。它只能適用于 iPad 設(shè)備。嘗試去用到其它設(shè)備都會(huì)出現(xiàn)異常。
它沒(méi)有特定的界面,他的主要工作是管理兩個(gè)視圖控制器在切換方向時(shí)的表現(xiàn)形式。
UITabBarController
UITabBarController 類實(shí)現(xiàn)了一個(gè)專門的類似radio-style的視圖控制器管理界面。這個(gè)標(biāo)簽欄界面的標(biāo)簽顯示在窗口的底部。它通常按它原來(lái)的樣式顯示,不過(guò)在 iOS6 之后可以用子類顯示。
每個(gè)標(biāo)簽欄控制器的標(biāo)簽對(duì)應(yīng)一個(gè)定制的視圖控制器。當(dāng)用戶選擇一個(gè)指定的標(biāo)簽地,這個(gè)標(biāo)簽欄控制器替換之前的主視圖為相關(guān)的視圖控制器.

你不能直接訪問(wèn)標(biāo)簽控制器上的標(biāo)簽視圖。要配置這個(gè)標(biāo)簽,你可以分配這個(gè) viewControllers 屬性來(lái)提供根視圖。它的顯示順序也是由你分配viewControllers時(shí)的順序來(lái)確定的。
標(biāo)簽欄內(nèi)容是通過(guò)他們相應(yīng)的視圖控制器進(jìn)行配置,通過(guò)創(chuàng)建一個(gè)UITabBarItem 類的實(shí)例來(lái)生成標(biāo)簽內(nèi)容,配置合適的屬性,然后賦給視圖控制器的tabBarItem屬性.如果你沒(méi)有提供定制的標(biāo)簽欄內(nèi)容,那它默認(rèn)只會(huì)顯示一個(gè)這個(gè)視圖控制器的標(biāo)題。
UITableViewController

UITableViewController 類創(chuàng)建了一個(gè)控制器管理表格視圖. 它實(shí)現(xiàn)了下列行為:
如果nib 文件通過(guò) initWithNibName:bundle: 方法指定(它是父類 UIViewController 聲明的方法), UITableViewController 會(huì)從這個(gè)nib文件中讀取這個(gè)表格視圖結(jié)構(gòu)。否則,它是不能正確配置UITableView對(duì)象和計(jì)算大小的。你可以通過(guò)tableview屬性來(lái)設(shè)置它。
如果包含表視圖的nib文件加載后,datasource(數(shù)據(jù)源)和delegate(委托)為nib文件中定義的對(duì)象(如果有的話).如果沒(méi)有指定nib文件或者nib文件定義沒(méi)有datasource或delegate, UITableViewController 設(shè)置表視圖的datasource 與 delegate為它自己(self)
當(dāng)表視圖第一次出現(xiàn)時(shí),table-view controller重新加載表視圖數(shù)據(jù)。它也在每次顯示時(shí)清理了選擇過(guò)的行。這個(gè) UITableViewController 類的方法是在基于父類方法的viewWillAppear:時(shí)實(shí)現(xiàn)的。你也可以關(guān)閉這個(gè)默認(rèn)行為,通過(guò)clearsSelectionOnViewWillAppear屬性。
當(dāng)表視圖被顯示后,控制器刷新表視圖的滾動(dòng)條指示器。這個(gè) UITableViewController 類的方法是實(shí)現(xiàn)在 viewDidAppear: 里的。
它實(shí)現(xiàn)了父類方法 setEditing:animated:, 所以當(dāng)用戶點(diǎn)擊導(dǎo)航欄上的編輯|完成按鈕時(shí),會(huì)控制表格的編輯模式。
你可以創(chuàng)建它的子類來(lái)管理每個(gè)表視圖。當(dāng)你在控制器里初始化了 initWithStyle:,你必須指定表視圖的樣式(plain 或 grouped)。
參考: Table View Programming Guide for iOS
UINavigationController
UINavigationController 類實(shí)現(xiàn)了一專門的視圖控制器去管理分層內(nèi)容的導(dǎo)航。它的導(dǎo)航界面讓數(shù)據(jù)更有效,更簡(jiǎn)單的呈現(xiàn)。通常你直接使用它即可。iOS 6之后你可以定制它的行為。

導(dǎo)航控制器使用導(dǎo)航棧管理屏幕上的顯示內(nèi)容,它是一個(gè)視圖控制器數(shù)據(jù),數(shù)據(jù)第一個(gè)控制器對(duì)應(yīng)的是根視圖控制器,最后一個(gè)視圖控制器對(duì)應(yīng)的是當(dāng)前屏幕上顯示的內(nèi)容。你可以使用導(dǎo)航控制器類代的方法編輯這個(gè)棧。比如你添加一個(gè)視圖控制器到棧頂用 pushViewController:animated: 方法。

UIImagePickerController
UIImagePickerController類管理可定制的,系統(tǒng)提供的用戶界面,用于拍照和電影支持的設(shè)備上,并選擇保存的圖像和電影用于您的應(yīng)用程序.一個(gè)圖像選擇控制器管理用戶交互,并通過(guò)delegate對(duì)象傳遞交互的結(jié)果.
它的交互外觀由 source type 決定:
UIImagePickerControllerSourceTypeCamera 類型提供一個(gè)獲得新照片或電影的交互界面(設(shè)備必須支持媒體捕獲)
UIImagePickerControllerSourceTypePhotoLibrary 或 UIImagePickerControllerSourceTypeSavedPhotosAlbum 這兩個(gè)類型提供選擇已保存在設(shè)備上的照片或電影

參考: Camera Programming Topics for iOS
UIVideoEditorController
一個(gè)UIVideoEditorController對(duì)象,或視頻編輯器,管理系統(tǒng)提供的視頻微調(diào)界面,從視頻的開(kāi)頭到結(jié)尾幀都可以進(jìn)行管理。并可以重新調(diào)整編碼質(zhì)量。這個(gè)對(duì)象管理用戶交互,并提供電影編輯的文件路徑給到你的delegate 對(duì)象 (UIVideoEditorControllerDelegate Protocol Reference)。這個(gè)特性只支持有視頻錄制的設(shè)備上。
UIScreen
UIScreen對(duì)象包含設(shè)備的整個(gè)屏幕矩形邊界。設(shè)置應(yīng)用程序的用戶界面時(shí), 你應(yīng)該使用該對(duì)象的推薦矩形屬性設(shè)置應(yīng)用程序的窗口。
你可以通過(guò)它,獲得整個(gè)設(shè)備的屏幕的寬,高。
通常我們?cè)赿idFinishLaunchingWithOptions: 方法里經(jīng)常看到這樣一句話:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIScreenMode
UIScreenMode對(duì)象代表一組可以應(yīng)用于一個(gè)UIScreen對(duì)象的屬性.對(duì)象封裝的信息是屏幕的基本顯示緩沖區(qū)的大小和長(zhǎng)寬比,及它使用的獨(dú)立像素。
開(kāi)發(fā)者可以不必關(guān)心這個(gè)屬性,屏幕和窗口對(duì)象會(huì)根據(jù)底層硬件自動(dòng)確定像素和長(zhǎng)寬比等。不過(guò)你要是想用到像素級(jí)信息,可以考慮用它來(lái)設(shè)置。
UISearchDisplayController
一個(gè)搜索控制器用于管理搜索狀態(tài)欄和伴隨搜索結(jié)果的視圖表。
你初始化一個(gè)帶搜索欄的搜索顯示控制器和視圖控制器負(fù)責(zé)管理數(shù)據(jù)搜索.當(dāng)用戶開(kāi)始搜索時(shí), 搜索控制器添加搜索界面在原視圖控制器上,當(dāng)搜索后,顯示一個(gè)搜索結(jié)果的表視圖顯示搜索結(jié)果。
當(dāng)你添加這個(gè)搜索控制器,并添加和管理搜索結(jié)果時(shí),你需要遵守以下四點(diǎn):
為搜索結(jié)果表視圖提供數(shù)據(jù)源(searchResultsDataSource).
為搜索結(jié)果表視圖提供代理(searchResultsDelegate).響應(yīng)用戶在結(jié)果表中的選擇。
為搜索控制器提供代理(delegate).響應(yīng)用戶在搜索欄上的輸入操作。
為搜索欄(UISearchBar)上提供代理(delegate UISearchBarDelegate), 響應(yīng)搜索條件的改變。
典型的初始化實(shí)例方法如下:
searchController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self]; searchController.delegate = self; searchController.searchResultsDataSource = self; searchController.searchResultsDelegate = self;
UITextChecker
使用UITextChecker類的實(shí)例來(lái)檢查一個(gè)字符串(通常是文檔的文本)拼錯(cuò)的單詞。
UITextInputStringTokenizer
這個(gè)類實(shí)現(xiàn)了UIKit 框架里的UITextInputTokenizer 協(xié)議。實(shí)現(xiàn)分詞效果.
PS: 沒(méi)有用過(guò)
UITextPosition
這個(gè)類表示在一個(gè)文本內(nèi)容的位置。換句話說(shuō),它是一個(gè)支持字符串在text-displaying視圖的索引.
UITextView 類的實(shí)例方法 positionFromPosition:offset: 返回的就是這樣的對(duì)象
UITextRange
這個(gè)類表示在一個(gè)文本內(nèi)容中的區(qū)域。換句話說(shuō),它表示從哪兒開(kāi)始到哪兒結(jié)束的索引。
UITextView 類的實(shí)例方法 selectedRange 返回的就是這樣的對(duì)象 [textView selectedTextRange];
UITouch
UITouch對(duì)象表示手指在屏幕上點(diǎn)擊或移動(dòng)的特定事件.你可以通過(guò)UIEvent傳遞過(guò)來(lái)的UITouch對(duì)象訪問(wèn)到。
UITouch對(duì)象包括訪問(wèn)的方法,和在特定的視圖或窗口觸摸的位置.它還允許您找到接觸發(fā)生時(shí),用戶是否不止一次點(diǎn)擊,是否是滑動(dòng).從哪兒開(kāi)始,哪兒結(jié)束等等。
gestureRecognizers 屬性在 iOS 3.2 后被引入.返回的是手勢(shì)識(shí)別器類。

ps:作者不更新了,這么好的文章不能丟了
轉(zhuǎn)載自:這里