编辑菜单
你可以在文本视图、web 视图和图片视图里调出编辑菜单,来执行剪切、粘贴和选择的操作。
你可以调整菜单的行为,给用户更多控制内容的操作。例如,你可以:
♦ 设定哪些标准命令适合当前的环境。
♦ 在菜单出现前定义好它的位置,以免遮盖重要的内容。
♦ 当用户双击唤出菜单时,定义好默认被选中的对象。
你不能:更改编辑菜单的颜色和形状。
为了保证在你的程序中编辑菜单符合用户期望,你应该:
展示与当前环境相适应的命令。例如,当什么都没选中时,菜单中不应该有"复制"和"剪切" 。同样,如果选中了一些东西,菜单里不应该包含"选择" 。如果你要定制编辑菜单的外观,要确保展示的内容与当前环境相匹配。
让菜单和界面布局相适应。 iOS 在插入点或选择区的上面或下面, 具体由空闲空间来定。菜单指向内容, 以便用户知道操作的对象。 你可以在菜单出现前用代码确定好它的位置,这样可以避免重要的内容被它遮盖。
两种唤出菜单的手势都要支持。虽然触碰并按住是唤出菜单的主要方式,但也可以在阅读文本时用双击文字同时选中文字并唤出菜单。 如果你要自定义编辑菜单, 一定要支持两种手势。另外,你可以定义用户双击时默认选中哪些对象。
避免在界面上放置编辑菜单里已经有的命令。例如,最好在编辑菜单里完成复制,而非在界面上放置复制按钮。否则用户还需要想一想到底该用哪种。
如果对用户有用的话,可以让静态文本也能被选中。例如,用户会想要复制图片的标题,但不太会想复制 tab 栏的标题或者本屏的标题。
不要让按钮标题变得可以选中。用户选中按钮的标题时会很容易触发按钮。一般而言,与按钮行为相似的元素都不应该被选中。
如果支持"复制"和"粘贴" ,也要支持"重做"和"撤销" 。用户一改变主意就会很想撤销最近的操作。 由于编辑菜单里的命令在执行前无需再次确认, 所以应该给用户 "重做"和"撤销"的机会。
在 iOS4 以后,你可以在编辑菜单里提供定制的功能。
如果你想把被选中的文字或对象用于与当前环境无关的地方, 最好使用操作列表。 例如,当用户把选中的内容在网上分享,你最好用操作列表展示一堆 SNS 供用户选择。
如果你想定制编辑菜单,请阅读以下指南:
自定义的菜单项要能够编辑、改变、或者直接操作对用户选中的对象。用户希望编辑菜单上的命令能够在当前环境里直接操作被选中的对象,你定制的命令也应满足这种期望。
把定制的项目列在系统的项目后面。不要把定制命令和系统提供的命令混起来。 保证定制的项目数量合理。不要给用户过多的选择。
定制的菜单命令要简明,精确地概括这条命令的作用。一般而言,项目名称应该是能描述操作的动词。虽然一个大写的词能搞定最好,但非得用词组的时候,要用标题大写样式(四个词以内,大写除冠词、介词、并列连词外的词) 。