幾乎所有的 iOS 應用程序都使用了 UIKit 框架中定義的 UI 組件。了解這些基本組件的名字,角色和功能可以幫助你在設(shè)計應用程序的 UI 時做出更好的決定。
http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/uikit_ui_elements_2x.png" alt="" />
UIKit 提供的 UI 組件大致分成以下 4 大類:
除了定義 UI 組件,UIKit 也定義對象實現(xiàn)的功能,例如手勢識別、繪圖、輔助功能和打印支持。
從編程的角度來說,UI 組件被認為是不同類別的視圖,因為他們從 UIView 得到繼承。視圖能繪制屏幕內(nèi)容并且知道用戶何時觸摸了屏幕。視圖的所有類型有:控件(比如按鈕和滑塊),內(nèi)容視圖(比如集合視圖和表格視圖),以及臨時視圖(如警告提示和動作菜單)。
要在應用中管理一組或者一系列的視圖,通常需要使用一個視圖控制器,它能協(xié)調(diào)視圖的顯示內(nèi)容,實現(xiàn)與用戶交互的功能并能在不同屏幕內(nèi)容之間切換。比如,“設(shè)置”使用了一個導航控制器來展示其視圖層級。
下面是一個例子,關(guān)于視圖與視圖控制器如何結(jié)合并呈現(xiàn) iOS 應用的 UI。
http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/windowlayers_world_clock_2x.png" alt="" />
雖然開發(fā)者認為真正起到作用的是視圖和視圖控制器,但一般用戶感知到的 iOS 應用是不同屏幕內(nèi)容的集合。從這個角度來看,在應用里,屏幕內(nèi)容一般對應于一個獨特的視覺狀態(tài)或者模式。
注意
一個 iOS 應用程序包含一個窗口。但是,不同于計算機程序中的窗口,iOS 窗口沒有可見的部分并且不能在屏幕上被移動到另一個位置。很多 iOS 應用程序只有一個窗口;可以支持外部顯示設(shè)備器的應用程序可以有不止一個窗口。
在 iOS Human Interface Guidelines 中,screen 這個詞和大部分用戶理解的一樣。作為一個開發(fā)者,你也許需要讀一下其他與 UIscreen 相關(guān)的章節(jié),這樣你可以更好的了解如何關(guān)聯(lián)外部屏幕。