《iOS Human Interface Guidelines》——Popover
弹出框
弹出框是当人们点击一个控件或屏幕上一个区域时显示的一个暂时的界面。
API NOTE
在iOS 8及以后的系统中。你能够使用UIPopoverPresentationController来显示一个弹出框。
UIPopoverPresentationController定义了一个协议来让你调整你的弹出内容的显示风格去适应当前的显示环境。比方说。在水寻常规环境下。你的内容能够在弹出框中显示;在水平紧凑环境下,你的内容能够在一个全屏的模态视图中显示。
一个弹出框:
- 是一个自包括的模态视图
- 在水寻常规环境下,显示一个箭头指向它出现的点
- 有半透明的背景显示背后的模糊内容
- 能够包括大范围的对象和视图,比方:
)
考虑以下的情节来确定何时弹出框是不必要的:
假设弹出框 | 这样做 |
---|---|
提供影响主视图的选项。但不实现观察者 | 当人们做出一个选择或当他们点击弹出框以外的不论什么地方时,包含显示弹出框的控件,尽快地关闭弹出框。 |
实现观察者 | 当人们点击弹出框以外的不论什么地方时,包含显示弹出框的控件。就关闭弹出框。 在这样的情况下,不要在人们做出选择时尽快地关闭弹出框。由于他们可能想要做出额外的选择或者改变当前选择的属性。 |
完毕一个任务 | 当人们通过点击弹出框中的button,比方完毕或取消,来完毕或取消一个任务时关闭弹出框。 在这样的情况下,你可能不想在人们点击弹出框以外的地方的时候关闭弹出框,由于人们完毕——或放弃——任务可能非常重要。 或者,当人们点击弹出框以外的地方的时候保存他们的输入,就像在点击完毕时做的一样。 |
一般来说,当人们点击弹出框以外的区域时保存用户的工作。不是全部弹出框都要求明白的退出,所以人们可能错误地关闭了它。
仅仅在人们点击取消button时抛弃人们做的工作。
让弹出框的button尽可能直接指向显示它的元素。这样做有助于人们记住弹出框的来源以及有关的任务或对象。
确保人们能够在看不到其背后的app内容的情况下使用弹出框。弹出框会模糊其背后的内容,而且人们无法拖拽弹出框到别的位置。
确保同一时间仅仅有一个弹出框在屏幕上。
你不应该在同一时间显示超过一个弹出框(或者自己定义的外观和行为类似弹出框的视图)。特别是,你不应该同一时候显示一个谈出啊匡从还有一个中出现的串联或层级的弹出框。
不要在弹出框的顶部显示模态视图。除了警告框。都不应该显示在弹出框的顶部。
可能的话,同意人们通过一次点击关闭一个弹出框并打开一个新的弹出框。这个行为会在有多个不同的打开弹出框的栏button时非常合适,由于这让人们避免了非常多额外的点击。
不要使用太大的弹出框。
弹出框不应该占领所有的屏幕。
它应该刚好能显示它的内容而且能指向它出现的地方。弹出框的高度不是固定的。所以你能够使用它来显示一长列的清单。只是一般来说。你应该尝试避免在弹出框中滚动来完毕任务。注意系统可能调整弹出框的高度和宽度来让它适应屏幕。
在弹出框内使用标准UI控件和视图。
一般来说,弹出框使用标准控件和视图的时候会看起来更好、更易于用户理解。
确保自己定义的弹出框看起来像一个弹出框。即使通过使用UIPopoverBackgroundView API能够非常easy地自己定义弹出框的非常多视觉部分,不要创建一个用户认识不到是弹出框的设计。假设你改变太多弹出框的外观,用户就不能依赖他们曾经的经验来帮助他们理解怎样在你的app中使用它。
当弹出框依旧可见时改变其尺寸要慎重。你可能在使用它显示相同信息的最小视图和扩展视图时想要改变弹出框的尺寸。当你调整可见的弹出框的尺寸时。使用动画来表示修改一般是个好主意,由于这不会给人们一种新弹出框取代了旧弹出框的印象。
《iOS Human Interface Guidelines》——Popover的更多相关文章
- 《iOS Human Interface Guidelines》——Multitasking
多任务处理 多任务处理让人们在屏幕上(以及合适的iPad模式)查看多个app,而且在近期使用的app中高速地切换. 在iOS 9中.人们能够使用多任务处理UI(例如以下所看到的)来选择一个近期使用的a ...
- 《iOS Human Interface Guidelines》——Search Bar
搜索栏 搜索栏接收用户输入用于搜索的文本(例如以下,带有占位文本). API NOTE 查看UISearchBar学习怎样在你的代码中定义搜索栏.查看UISearchDisplayController ...
- 《iOS Human Interface Guidelines》——System Button
系统button 系统button运行一个app特定的动作. API NOTE 在iOS 7中,UIButtonTypeRoundedRect被又一次定义成UIButtonTypeSystem.查看U ...
- 《iOS Human Interface Guidelines》——Edit Menu
编辑菜单 用户能够显示一个编辑菜单来在文本视图.网页视图和图像视图运行诸如剪切.粘贴和选择的操作. 你能够调整一些菜单的行为来在你的app中给用户给多的内容控制.比方你能够: 指定哪一个标准菜单命令对 ...
- 《iOS Human Interface Guidelines》——Wallet
Wallet Wallet(钱包)帮助人们查看和管理Pass(凭证),这是一种相似于登机牌.优惠券.会员卡.奖励卡和各种票的物理凭证的数字替代.Wallet也同意人们加入信用卡.借记卡和储值卡来和Ap ...
- 《iOS Human Interface Guidelines》——Container View Controller
容器视图控制器 容器视图控制器管理和展示它的子视图集合--或者子控制器集合--以一种自己定义的方式. 系统定义的容器视图控制器的样例有标签栏视图控制器.导航栏视图控制器和分栏视图控制器(查看Tab B ...
- 《iOS Human Interface Guidelines》——Segmented Control
分段控件 分段控件是一组线性段.每一个button相应的功能能够显示一个不同的视图. API NOTE 查看UISegmentedControl来学习很多其它关于在你的代码中定义一个分段控件的内容. ...
- 【译】iOS人性化界面指南(iOS Human Interface Guidelines)(一)
1. 引言1.1 译者自述 我是一个表达能力一般的开发员,不管是书面表达,还是语言表达.在很早以前其实就有通过写博客锻炼这方面能力的想法,但水平有限实在没有什么拿得出手的东西分享.自2015年7月以来 ...
- 怎么看iOS human interface guidelines中的user control原则
最近离开了老东家,整理整理思路,因为一直做的是微信公众号相关的产品对app的东西有一段时间没有做过了,所以又看了一遍iOS human interface guidelines,看到user cont ...
随机推荐
- Android——Activity和Intent及Activity的生命周期
实验Activity的生命周期 package com.example.chenshuai.test; import android.app.Activity; import android.os.B ...
- jQuery和JS对比
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ES6学习笔记(1,let和const)
在介绍let和const之前我们先复习一下相关的知识点. 关于函数作用域 开发过程中,在ES6(ECMA2015)标准推出之前,声明变量的方式一直都是var,而变量的作用域一般也只在函数内部,即函数作 ...
- sqlServer的主键只能自增不能手动增加
1. 2.找到相应的表,找到表设计.
- 二分图匹配 + 最小点覆盖 - Vertex Cover
Vertex Cover Problem's Link Mean: 给你一个无向图,让你给图中的结点染色,使得:每条边的两个顶点至少有一个顶点被染色.求最少的染色顶点数. analyse: 裸的最小点 ...
- C++ 类的构造函数使用规则
//类的构造函数使用规则 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; class Poi ...
- php -- PHP实现点击a标签的href做链接时,直接保存文件(任何类型),而不是通过浏览器直接打开下载的文件
之前做项目遇到这样一个问题,就是在php环境下,用a标签的href链接到一个资源,比如是mp3或者lrc文件时,点击之后不是出现保存文件的提示,而是调用本地程序打开文件或者直接在浏览器上解析.网上说可 ...
- 【BZOJ】1650: [Usaco2006 Dec]River Hopscotch 跳石子(二分+贪心)
http://www.lydsy.com/JudgeOnline/problem.php?id=1650 看到数据和最小最大时一眼就是二分... 但是仔细想想好像判断时不能贪心? 然后看题解还真是贪心 ...
- EF简单查询
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- OOXML,XLSX分析
07以上的xlsx是使用了OOXML和zip,将后缀修改为.zip,就可以看到文件,主要分析xl目录下的文件,如图: 主要数据文件在xl目录下面 styles.xml里面存放着excel的样式数据 很 ...