幾乎所有的iOS APP都利用了UIKit框架結構中定義的UI組件。知道這些基礎組件的名稱、角色、以及用途將對你設計APP UI來說非常有幫助。
UIKit提供的UI元素大致分為以下四類:
欄(Bar):涵蓋場景信息的分欄,告訴用戶他們當前在APP中所在的位置,并幫助他們定位到想要的位置,而且開始操作。
內容視圖:內容視圖涵蓋了APP相關內容,可以通過滾動、插入、刪除、排序這些行為對內容進行操作。
控件:控件表達交互行為以及信息展示。
臨時視圖:臨時視圖采用一種簡約的方式向用戶傳達重要信息,以及額外選項或者功能。
從編程上來講,一個UI元素就是一種視圖,因為它本身就是從UIview這個類繼承而來。一個視圖就已經定義了如何在屏幕上繪制,以及用戶的點擊區域。控件(例如按鈕和滑塊)、內容視圖(例如列表和表格)、臨時視圖(例如彈框提示和操作浮層)也都是視圖。
管理一套或者一個層級的視圖,你一般需要采用視圖控制器(view controller)。一個視圖控制器定義了視圖的坐標、什么功能通過什么交互動作來觸發、以及從一個屏到另一個屏的移動。例如,系統設置就采用了navigation controller來展示它的層級視圖。
這里有一個栗子,來說明視圖和視圖控制器是如何綜合利用來展示iOS APP的UI。
盡管開發者可以理解視圖或視圖控制器,但是你的用戶卻只把iOS APP的使用體驗建立在一系列屏幕元素的集合上。通過場景,一個屏僅僅透過視覺來聲明這一屏所要傳達的內容或者模式。
筆記
一個iOS APP包含一個窗口(Window)。但是不同于電腦應用的窗口,一個iOS窗口沒有可見的部件,并且不能移動到另外的區域。大多數的iOS APP 僅包含一個窗口;然而可以有多個表面的其他視圖。
在本設計規范中,屏(Screen)這個詞正如絕大多數人理解的那樣。作為一個開發者,你還應該理解更多關于screen的內容,比如這里提到的UIscreen 對象,可以幫助你創建表面視圖。
原文鏈接:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/Anatomy.html#//apple_ref/doc/uid/TP40006556-CH24-SW1