本文翻譯自iOS11蘋果系統(tǒng)的人機(jī)交互官方指南,原文鏈接。
導(dǎo)航欄
導(dǎo)航欄位于界面的上方陶舞,狀態(tài)欄下面司抱,用戶可以通過導(dǎo)航欄切換到其他頁面。當(dāng)一個(gè)新頁面運(yùn)行時(shí)铐炫,通常會(huì)有一個(gè)返回按鈕和前一頁面的標(biāo)題出現(xiàn)在導(dǎo)航欄的左邊垒手。有時(shí),導(dǎo)航欄的右側(cè)會(huì)有一個(gè)控件用于管理當(dāng)前頁面中的內(nèi)容倒信,比如編輯或者完成按鈕科贬。在分屏視圖中,導(dǎo)航欄可能出現(xiàn)在拆分視圖的單個(gè)窗格中鳖悠。導(dǎo)航欄是半透明的榜掌,可能帶有背景色优妙。當(dāng)鍵盤在屏幕上、用戶使用手勢或者視圖調(diào)整大小時(shí)憎账,導(dǎo)航欄可以隱藏套硼。
在顯示全屏內(nèi)容時(shí),可以考慮暫時(shí)隱藏掉導(dǎo)航欄胞皱。當(dāng)用戶想專注于頁面內(nèi)容時(shí)熟菲,導(dǎo)航欄可能會(huì)讓用戶分心,這時(shí)暫時(shí)隱藏掉導(dǎo)航欄可以給用戶一個(gè)更加沉浸式的體驗(yàn)朴恳。例如:當(dāng)查看全屏照片時(shí)抄罕,照片會(huì)隱藏掉導(dǎo)航欄及其他交互元素。如果你想在你的APP中使用這種交互行為于颖,要確保用戶可以用簡單的手勢恢復(fù)導(dǎo)航欄呆贿,比如點(diǎn)擊屏幕。
更多開發(fā)者指南森渐,請(qǐng)看 UINavigationBar.
TIP:不需要導(dǎo)航欄或者需要多個(gè)控件來管理內(nèi)容時(shí)做入,可以使用工具欄.。詳情請(qǐng)看 Toolbars.
導(dǎo)航欄標(biāo)題
可以將當(dāng)前頁面的標(biāo)題放在導(dǎo)航欄中同衣。多數(shù)情況下竟块,標(biāo)題可以幫助用戶快速了解他們查看的內(nèi)容。如果導(dǎo)航欄的標(biāo)題看起來多余則可以將標(biāo)題空出耐齐。舉個(gè)例子浪秘,由于Notes的第一行已經(jīng)展示了上下文的內(nèi)容,因此Notes沒有在導(dǎo)航欄給當(dāng)前的筆記命名埠况。
可以使用大標(biāo)題來額外強(qiáng)調(diào)上下文耸携。在一些APP中,加粗的大標(biāo)題可以幫助用戶在瀏覽和搜索時(shí)定位辕翰。例如夺衍,在標(biāo)簽控件(tabbed layout)中,大標(biāo)題可以幫助用戶明確活動(dòng)標(biāo)簽同時(shí)在用戶滾動(dòng)到頁面頂部時(shí)通知用戶喜命。電話APP使用這種標(biāo)簽控件的方式沟沙,而音樂APP為不同的內(nèi)容區(qū)域使用大標(biāo)題,例如專輯壁榕、藝術(shù)家矛紫、播放列表和收音機(jī)。當(dāng)用戶下滑頁面時(shí)护桦,大標(biāo)題轉(zhuǎn)換成普通標(biāo)題含衔。大標(biāo)題在所有的APP中都是沒有實(shí)際意義的煎娇,不應(yīng)該與頁面內(nèi)容相競爭二庵。盡管Clock這款A(yù)PP有標(biāo)簽控件贪染,但大標(biāo)題是不需要的因?yàn)槊總€(gè)標(biāo)簽都有一個(gè)清晰可辨的布局。更多開發(fā)者指南催享,請(qǐng)看prefersLargeTitles.
導(dǎo)航欄控件
避免在導(dǎo)航欄放太多控件杭隙。通常導(dǎo)航欄的內(nèi)容應(yīng)當(dāng)只有標(biāo)題、返回按鈕和一個(gè)管理當(dāng)前頁面內(nèi)容的控件因妙。當(dāng)你在導(dǎo)航欄中使用分段控件(segmented control)時(shí)痰憎,導(dǎo)航欄不應(yīng)當(dāng)有標(biāo)題和其他控件。
使用標(biāo)準(zhǔn)的返回按鈕攀涵。用戶知道標(biāo)準(zhǔn)的返回按鈕可以讓他們返回之前的頁面铣耘,如果你想用自定義的返回按鈕,確保它看起來依然像一個(gè)返回按鈕以故,并且在你APP的其余頁面中保持一致蜗细。
不要使用多段的面包屑導(dǎo)航。返回按鈕只執(zhí)行返回上一個(gè)頁面這一單一的操作怒详。如果你覺得沒有進(jìn)入當(dāng)前頁面的完整路徑會(huì)導(dǎo)致用戶迷惑時(shí)炉媒,可以考慮讓APP的層次結(jié)構(gòu)更加扁平。
給文字標(biāo)題按鈕留足夠的空間昆烁。如果你的導(dǎo)航欄包含多個(gè)文本按鈕吊骤,這些按鈕上的文字可能會(huì)擠在一起,使按鈕不易區(qū)分静尼。這時(shí)可以在不同按鈕之間添加固定的空間來區(qū)分不同按鈕白粉。更多開發(fā)者指南,請(qǐng)看UIBarButtonItem中的常量值UIBarButtonSystemItemFixedSpace.
可以在導(dǎo)航欄使用分段控件來展開APP的信息層次結(jié)構(gòu)鼠渺。如果你想在導(dǎo)航欄使用分段控件蜗元,請(qǐng)僅僅在信息層次結(jié)構(gòu)的頂層使用,同事確保在低信息層次結(jié)構(gòu)使用正確的返回按鈕標(biāo)題系冗。更多開發(fā)者指南奕扣,請(qǐng)看Segmented Controls.