用戶能使用一個編輯菜單來完成諸如在文本視圖、網頁或圖片視圖中的剪切、粘貼以及選擇的操作。
http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/edit_menu_imessage_2x.png" alt="" /> http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/edit_menu_imessage_selected_2x.png" alt="" />
你可以調整一些菜單里的功能使用戶能更多的控制你應用中的內容。舉個例子,你可以:
你不能改變菜單本身的顏色和形狀。
關于如何在代碼中繼承并實現(xiàn)這些行為的相關信息,參見 Copy, Cut, and Paste Operations 章節(jié)。
為了確保編輯菜單在你應用中的表現(xiàn)符合用戶期望,你應該:
在當前情境下顯示合理的指令。例如,當沒有對象被選中的時候,菜單中不應該包括復制或剪切命令,因為這些命令是針對被選擇的內容而操作的。 相似地,如果有對象被選擇的時候,菜單中不應該包括選擇命令。如果你在自定義頁面中支持編輯菜單,你就有責任確保菜單中顯示的命令切合當前的情境。
依據(jù)你的頁面布局調節(jié)菜單顯示效果。 iOS 系統(tǒng)在顯示編輯菜單時,在選擇點或插入點的上方或下方依據(jù)可獲得的空間來放置菜單指針,這樣用戶就能看到菜單命令是如何與內容相關的。 必要的話,你可以通過程序在菜單顯示之前決定它的位置,這樣可以避免用戶界面中的重要信息被擋住。
支持兩種手勢來調用菜單。雖然觸控和長按手勢是用戶調用編輯菜單的兩種首選方式,但他們也可以在文本頁面中通過雙擊一個單詞來選擇該單詞并同時調用菜單。 如果你在自定義頁面中支持編輯菜單,確保它能支持兩種手勢。除此之外,你可以定義用戶雙擊時默認選擇的對象。
避免在你的用戶界面中創(chuàng)建和編輯菜單中功能相同的按鈕。例如,使用編輯菜單讓用戶進行復制操作遠比提供一個有復制功能的按鈕要好,因為用戶將會想知道在你的應用中為什么會有兩種方法做同樣的事。
如果靜態(tài)文本的選擇對用戶來說是有用的,那么可以考慮使用它。例如,用戶可能想要復制一張圖片的標題,但他們不可能想復制選項卡的標簽或是屏幕的標題,比如“賬戶”。 在文本頁面內,文字的選擇應該是默認設置的。
不要使按鈕標題可選擇。如果按鈕的標題是可選擇的,用戶很難在不激活按鈕動作的情況下調用編輯菜單。 通常來說,像按鈕這樣用來操作的元素不需要是可選擇的。
將對撤銷與重做的支持與對復制與粘貼的支持組合到一起。人們經常希望在他們改變主意的時候能撤銷最近的操作。 由于編輯菜單在它操作執(zhí)行的時候是不需要確認的,你應該給用戶提供撤銷或重做這些操作的機會。
如果你需要創(chuàng)建自定義的編輯菜單項,需要像下面展示的這個例子一樣遵循這些指導原則:
http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/custom_edit_menu1_2x.png" alt="" />
創(chuàng)建直接作用于用戶選擇的包含編輯、修改或其他操作的編輯菜單。當人們期望在當前的情況用標準的編輯菜單項操作文本或對象時,那么你的自定義菜單項最好能有符合用戶的需求。
將自定義項列在所有系統(tǒng)提供的項的后面。不要將你的自定義項與系統(tǒng)提供的項混在一起列出。
保持自定義菜單項的數(shù)量在合理的范圍內。你不應該給你的用戶提供過多的選擇。
使用簡潔的名稱命名你的自定義菜單項并確保名稱能準確的描述指令的作用。通常,菜單項的名字應該是一個可以描述行為如何實現(xiàn)的動詞。 雖然你通常會使用單個的大寫單詞作為菜單項的名字,但如果你必須使用一個短語作為名字時,就應使用標題式大寫短語。(簡潔的、標題性的大寫詞就是將除了文章、適當?shù)倪B詞、四字及四字以下介詞之外的每個單詞都要大寫。)