编辑菜单

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

你能够调整一些菜单的行为来在你的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. Linux 常用解压缩归档命令

    linux 常见压缩.归档工具 创建压缩工具 压缩工具 后缀 描述 compress/uncompress .Z 早期工具,现在不常见了 gzip/gunzip .gz 进几年比较火的工具 bzip2 ...

  2. 轻松学习Linux之详解系统引导过程

    轻松学习Linux之详解系统引导过程-1 轻松学习Linux之详解系统引导过程-2 本文出自 "李晨光原创技术博客" 博客,谢绝转载!

  3. Vue框架学习笔记

    <div id="app"> </div> var app = new Vue({ el:"#app", // 绑定的元素 data:{ ...

  4. 动态链接库DLL的创建生成及调用

    一.背景 最近在做CANTOUSB底层驱动的调用,是调用别人已经封装好的库,看不到别人写的源程序.程序中调用的是隐式调用即 x.h+x.lib+x.dll,其中DLL即是动态链接库(Dynamic L ...

  5. SSO单点登录学习总结(1)——单点登录(SSO)原理解析

    SSO的概念: 单点登录SSO(Single Sign-On)是身份管理中的一部分.SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应 ...

  6. 代码生成器实现的Entity,Dao,Service,Controller,JSP神器(含代码附件)

    package com.flong.codegenerator; import java.sql.Connection; import java.sql.DatabaseMetaData; impor ...

  7. 洛谷——P1042 乒乓球

    https://www.luogu.org/problem/show?pid=1042 题目背景 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及.其中11分制改 ...

  8. 1.JPA概要

    转自:https://www.cnblogs.com/holbrook/archive/2012/12/30/2839842.html JPA定义了Java ORM及实体操作API的标准.本文摘录了J ...

  9. JS/CSS 全屏幕导航 – 从上到下动画

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  10. Linux体系结构

    linux内核结构: system call interface (SCI层) 为用户空间提供了一套标准的系统调用函数来访问linux内核. process management (PM层) 进程管理 ...