近期正在學(xué)習(xí)iOS的交互設(shè)計(jì)規(guī)范,計(jì)劃把部分交互、界面設(shè)計(jì)翻譯出來(lái),可以加深理解,需要的同學(xué)也可以做參考,有翻譯得不好的地方,歡迎指正。
翻譯:王冠
iOS App 剖析
大多數(shù) iOS app 至少會(huì)使用部分基于 UIKit 框架所定義的 UI 組件。知道基礎(chǔ)組件的名稱、角色、作用,設(shè)計(jì) app UI 時(shí)做可以出更有依據(jù)的決定。

UIKit 提供的 UI 元素分成四個(gè)大類:
欄(Bar).Bar包含上下文信息,可以告訴用戶目前所在的位置。Bar還包含控件,可以幫助用戶導(dǎo)航或發(fā)起操作。
內(nèi)容視圖(Content view).內(nèi)容視圖包含應(yīng)用具體內(nèi)容,并且能發(fā)起像滾動(dòng)、插入、刪除或者條目重排等操作。
控件(Control):執(zhí)行操作和者顯示信息。
臨時(shí)視圖(Temporary view):臨時(shí)視圖可以短暫的出現(xiàn)(在上圖的例子里面為詢問彈窗),來(lái)告訴用戶重要的信息或者更多的選項(xiàng)和功能。
除了定義UI元素,UIKit 還定義實(shí)現(xiàn)功能的對(duì)象,像手勢(shì)識(shí)別、繪圖、可訪問性、打印支持。
用編程的方式來(lái)解釋:一個(gè) UI 元素是一種類型的視圖,因?yàn)樗^承自UIView。一個(gè)視圖知道如何在屏幕上描繪解釋自己,也知道當(dāng)用戶在界限內(nèi)觸摸時(shí)如何反應(yīng)。控件(按鈕和滑塊)、內(nèi)容視圖(集合視圖和表格視圖)、臨時(shí)視圖(警告提示和動(dòng)作列表)都是不同類型的視圖。
為了管理app中的層次視圖,一般要使用視圖控制器,視圖控制器可以協(xié)調(diào)視圖顯示,從而實(shí)現(xiàn)用戶交互背后的功能,也可以管理屏幕之間的切換。例如設(shè)置(Settings)通過(guò)導(dǎo)航控制器來(lái)顯示層次視圖。
這里有一個(gè)案例,展示了視圖與視圖控制器是如何結(jié)合在一起來(lái)展示 iOS app 的 UI。

即使開發(fā)者是從視圖和視圖控制器出發(fā)來(lái)思考設(shè)計(jì),但用戶會(huì)嘗試把 iOS app 當(dāng)做一整塊組合屏幕體驗(yàn)。一個(gè)屏幕通常對(duì)應(yīng)于 app 中一個(gè)明顯功能,這和其他可見狀態(tài)或模式不同。
注意:一個(gè)iOS app包含一個(gè)窗口,但是和電腦軟件中的窗口不同,iOS窗口沒有可見的部分并且不能在屏幕上被移動(dòng)到另一個(gè)位置。大部分 iOS app 只包含一個(gè)窗口,以支持外部顯示設(shè)備器的應(yīng)用程序可以有不止一個(gè)窗口。
在 iOS 人機(jī)交互指南里,使用“屏幕”這個(gè)詞是因?yàn)榭梢宰尨蠖鄶?shù)用戶理解其含義。作為一個(gè)開發(fā)者,你可能會(huì)在其他文獻(xiàn)中讀到關(guān)于屏幕的信息,在那種情境中,“屏幕”這個(gè)詞特指的是 UI Screen 對(duì)象,開發(fā)者可以使用這個(gè)對(duì)象來(lái)進(jìn)入外層的顯示屏。