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