编辑菜单

用户能够显示一个编辑菜单来在文本视图、网页视图和图像视图运行诸如剪切、粘贴和选择的操作。

你能够调整一些菜单的行为来在你的app中给用户给多的内容控制。比方你能够:

  • 指定哪一个标准菜单命令对当前的环境合适
  • 在菜单显示之前决定菜单的位置这样你就能够保护你app UI中重要的部分免于被遮挡
  • 当用户双击来显示菜单时决定默认选中的对象

你不能改变菜单它自己的颜色和形状。


查看Copy,
Cut, and Paste Operations
获取怎样在代码中实现这些行为的信息。

为了确保你app中的编辑菜单行为符合用户的期待,你应该:

显示在当前环境有意义的命令。比方说,假设没有内容被选中,菜单不应该包括复制和剪切。由于这些命令是对选中内容操作的。相同的,假设某些东西被选中了,菜单就不应该包括选择。假设你在一个自己定义的视图支持编辑菜单。你要对确保菜单显示的命令适合当前的环境负责。

调节你布局中显示的菜单。iOS在插入光标或选择内容的上面或以下显示编辑菜单,这取决于可使用的空间,而且放置菜单指针这样用户就能够看到菜单命令是怎样和内容关联的。必要的话,你能够编码在菜单显示之前决定菜单的位置这样你就能够保护你app UI中重要的部分免于被遮挡。

支持用户能够唤起菜单的全部手势。尽管触摸和长按手势是用户显示编辑菜单的主要方式,他们也能够在文本视图中双击一个单词来选择单词并同一时候显示菜单。假设你在一个自己定义的视图中支持菜单,确保响应全部的手势。

此外,你能够定义用户双击时默认选中的对象。


不要在你的UI中创建一个能够在编辑菜单中获取的命令的button。比方说。让用户使用编辑菜单运行复制操作比提供一个复制button要好。由于用户会想知道为什么在你的app中有两种方式去做同一件事情。

假设对用户实用的话,考虑支持静态文本你的选中。比方说,一个用户可能想复制一个图片的标题,但他们不想复制标签元素或者视图标题的label,比方账目。在文本视图中,单词的选中应该是默认的。

不要让button标题可选中。一个可选中的button标题会让用户非常难不激活button的情况下显示编辑菜单。

一般来说。行为类似button的元素不须要被选中。


将支持撤销与反复和对复制与粘贴的支持联合起来。人们常常在改变想法的时候期望能撤销近期的操作。由于编辑菜单在运行动作前不会请求确认。你须要给用户机会去撤销和反复这些操作。

假设你须要创建类似下方的自己定义的编辑菜单元素。遵循这些指南:



直接在用户选中内容上方创建编辑、更改或其它动作的编辑菜单。人们期待标准菜单栏目在当前环境文本或对象的上方操作,而且最好你自己定义的菜单栏目也有类似的行为。

在全部系统提供的条目后面列出自己定义的条目。

不要在系统提供的条目中散布你的自己定义条目。


保持自己定义菜单栏目的数量合理。你不想要过多的选项淹没你的用户。


为你的自己定义菜单栏目使用简洁的名字并确保名字精确地描写叙述了命令的功能。一般来说。条目名应该是描写叙述运行的动作的动词。

尽管你通常应该使用一个单一的大写单词作为条目名,假设你一定要使用短语的话,使用标题风格的大写。(简短地说,标题风格的大写意味着大写每一个单词。除了文章、并列连词和四个字母或下面的介词。)



本文翻译自苹果官方文档

《iOS Human Interface Guidelines》——Edit Menu的更多相关文章

  1. 《iOS Human Interface Guidelines》——Multitasking

    多任务处理 多任务处理让人们在屏幕上(以及合适的iPad模式)查看多个app,而且在近期使用的app中高速地切换. 在iOS 9中.人们能够使用多任务处理UI(例如以下所看到的)来选择一个近期使用的a ...

  2. 《iOS Human Interface Guidelines》——Search Bar

    搜索栏 搜索栏接收用户输入用于搜索的文本(例如以下,带有占位文本). API NOTE 查看UISearchBar学习怎样在你的代码中定义搜索栏.查看UISearchDisplayController ...

  3. 《iOS Human Interface Guidelines》——Popover

    弹出框 弹出框是当人们点击一个控件或屏幕上一个区域时显示的一个暂时的界面. API NOTE 在iOS 8及以后的系统中.你能够使用UIPopoverPresentationController来显示 ...

  4. 《iOS Human Interface Guidelines》——System Button

    系统button 系统button运行一个app特定的动作. API NOTE 在iOS 7中,UIButtonTypeRoundedRect被又一次定义成UIButtonTypeSystem.查看U ...

  5. 《iOS Human Interface Guidelines》——Wallet

    Wallet Wallet(钱包)帮助人们查看和管理Pass(凭证),这是一种相似于登机牌.优惠券.会员卡.奖励卡和各种票的物理凭证的数字替代.Wallet也同意人们加入信用卡.借记卡和储值卡来和Ap ...

  6. 《iOS Human Interface Guidelines》——Container View Controller

    容器视图控制器 容器视图控制器管理和展示它的子视图集合--或者子控制器集合--以一种自己定义的方式. 系统定义的容器视图控制器的样例有标签栏视图控制器.导航栏视图控制器和分栏视图控制器(查看Tab B ...

  7. 《iOS Human Interface Guidelines》——Segmented Control

    分段控件 分段控件是一组线性段.每一个button相应的功能能够显示一个不同的视图. API NOTE 查看UISegmentedControl来学习很多其它关于在你的代码中定义一个分段控件的内容. ...

  8. 【译】iOS人性化界面指南(iOS Human Interface Guidelines)(一)

    1. 引言1.1 译者自述 我是一个表达能力一般的开发员,不管是书面表达,还是语言表达.在很早以前其实就有通过写博客锻炼这方面能力的想法,但水平有限实在没有什么拿得出手的东西分享.自2015年7月以来 ...

  9. iOS 人机交互指导方针(iOS Human Interface Guidelines)

    iOS 人机交互指导方针(iOS Human Interface Guidelines) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名 ...

随机推荐

  1. 14.NPM 常用命令

    转自:http://www.runoob.com/nodejs/nodejs-npm.html PM提供了很多命令,例如install和publish,使用npm help可查看所有命令. NPM提供 ...

  2. ReactJs 入门DEMO(转自别人)

    附件是分享的一些他人的ReactJs入门DEMO,以前版本使用的是JSXTransformer.js,新版的用browser.min.js替代了. DEMO 下载地址:http://files.cnb ...

  3. [ Eclipse ] [ Problem ] Eclipse 無法開啟問題

    因為 Eclipse 在設定環境的過程掛掉太多次,擷取一些網路上優秀的文章當作備份 http://www.ewdna.com/2013/12/Eclipse-Loading-Workbench.htm ...

  4. Spring.net的Demo项目,了解什么是控制反转

    Spring这个思想,已经推出很多年了. 刚开始的时候,首先是在Java里面提出,后来也推出了.net的版本. Spring里面最主要的就是控制反转(IOC)和依赖注入(DI)这两个概念. 网上很多教 ...

  5. IIS7性能优化

    http://www.03389.com/BLOG/user1/qq66565841/archives/2014/2014112143553.html IIS7性能优化 IIS7 优化-网站请求并发数 ...

  6. Sql Server 2014完全卸载

    经历过好多次Sql server的安装与卸载,有时发现自己卸载的费时费力,单纯地卸载个软件就要吐血了,那么现在我觉得是时候整理一下了. 1.在运行中输入services.msc,然后找到所有跟Sql ...

  7. jvm compile

    >>>Making sec-files-win @ Thu Oct 17 20:34:02 CST 2013 ... >>>Making jgss-files @ ...

  8. Log4j 2使用教程 分类: B1_JAVA 2014-07-01 12:26 314人阅读 评论(0) 收藏

    转载自 Blog of 天外的星星: http://www.cnblogs.com/leo-lsw/p/log4j2tutorial.html Log4j 2的好处就不和大家说了,如果你搜了2,说明你 ...

  9. js进阶 13-4 jquery自定义动画animate()如何使用

    js进阶 13-4 jquery自定义动画animate()如何使用 一.总结 一句话总结:animate(params,[speed],[easing],[fn]),参数:params:一组包含作为 ...

  10. SQL Server 中计算农历

    1.建一表,放初始化资料   因为农历的日期,是由天文学家推算出来的,到现在只有到2049年的,以后的有了还可以加入!   CREATE TABLE SolarData ( yearId int no ...