《iOS Human Interface Guidelines》——Popover

弹出框

弹出框是当人们点击一个控件或屏幕上一个区域时显示的一个临时的界面。

API NOTE

在iOS 8及以后的系统中,你可以使用UIPopoverPresentationController来显示一个弹出框。UIPopoverPresentationController定义了一个协议来让你调整你的弹出内容的显示风格去适应当前的显示环境。比如说,在水平常规环境下,你的内容可以在弹出框中显示;在水平紧凑环境下,你的内容可以在一个全屏的模态视图中显示。

一个弹出框:

  • 是一个自包含的模态视图
  • 在水平常规环境下,显示一个箭头指向它出现的点
  • 有半透明的背景显示背后的模糊内容
  • 可以包含大范围的对象和视图,比如:

列表、图片、地图、文本、网页或自定义的视图

导航栏、工具栏或标签栏

与当前app视图中的对象交互的控件或对象

(默认情况下,弹出框中的列表视图、导航栏和工具栏使用半透明的背景来让弹出框的模糊层显出。)

在水平常规环境下,操作表单总是在弹出框中显示的。

使用弹出框来显示额外的信息或者一系列与关注的或者选中的对象有关的元素。

NOTE

本指南包含显示在水平常规环境下的弹出框的UI和用户体验。如果你在全屏显示的水平紧凑环境下显示弹出框,查看Modal View来获取其他全屏模态视图的指南。

不要提供“消除弹出框”的按钮。当弹出框的显示已经不必要的时候它应该自动关闭。考虑下面的情节来确定何时弹出框是不必要的:

如果弹出框 这样做
提供影响主视图的选项,但不实现观察者 当人们做出一个选择或当他们点击弹出框以外的任何地方时,包括显示弹出框的控件,尽快地关闭弹出框。
实现观察者 当人们点击弹出框以外的任何地方时,包括显示弹出框的控件,就关闭弹出框。

在这种情况下,不要在人们做出选择时尽快地关闭弹出框,因为他们可能想要做出额外的选择或者改变当前选择的属性。

完成一个任务 当人们通过点击弹出框中的按钮,比如完成或取消,来完成或取消一个任务时关闭弹出框。

在这种情况下,你可能不想在人们点击弹出框以外的地方的时候关闭弹出框,因为人们完成——或放弃——任务可能很重要。或者,当人们点击弹出框以外的地方的时候保存他们的输入,就像在点击完成时做的一样。

一般来说,当人们点击弹出框以外的区域时保存用户的工作。不是所有弹出框都要求明确的退出,所以人们可能错误地关闭了它。只在人们点击取消按钮时抛弃人们做的工作。

让弹出框的按钮尽可能直接指向显示它的元素。这样做有助于人们记住弹出框的来源以及有关的任务或对象。

确保人们可以在看不到其背后的app内容的情况下使用弹出框。弹出框会模糊其背后的内容,并且人们无法拖拽弹出框到别的位置。

确保同一时间只有一个弹出框在屏幕上。你不应该在同一时间显示超过一个弹出框(或者自定义的外观和行为类似弹出框的视图)。特别是,你不应该同时显示一个谈出啊匡从另一个中出现的串联或层级的弹出框。

不要在弹出框的顶部显示模态视图。除了警告框,都不应该显示在弹出框的顶部。

可能的话,允许人们通过一次点击关闭一个弹出框并打开一个新的弹出框。这个行为会在有多个不同的打开弹出框的栏按钮时很合适,因为这让人们避免了很多额外的点击。

不要使用太大的弹出框。弹出框不应该占据全部的屏幕。它应该刚好能显示它的内容并且能指向它出现的地方。弹出框的高度不是固定的,所以你可以使用它来显示一长列的清单。不过一般来说,你应该尝试避免在弹出框中滚动来完成任务。注意系统可能调整弹出框的高度和宽度来让它适应屏幕。

在弹出框内使用标准UI控件和视图。一般来说,弹出框使用标准控件和视图的时候会看起来更好、更易于用户理解。

确保自定义的弹出框看起来像一个弹出框。即使通过使用UIPopoverBackgroundView API可以很容易地自定义弹出框的很多视觉部分,不要创建一个用户认识不到是弹出框的设计。如果你改变太多弹出框的外观,用户就不能依赖他们以前的经验来帮助他们理解如何在你的app中使用它。

当弹出框依然可见时改变其尺寸要谨慎。你可能在使用它显示同样信息的最小视图和扩展视图时想要改变弹出框的尺寸。当你调整可见的弹出框的尺寸时,使用动画来表示改动通常是个好主意,因为这不会给人们一种新弹出框代替了旧弹出框的印象。

本文翻译自苹果官方开发文档

查看完整合集:https://github.com/Cloudox/iOS-Human-Interface-Guidelines

版权所有:http://blog.csdn.net/cloudox_

时间: 2024-10-25 17:05:28

《iOS Human Interface Guidelines》——Popover的相关文章

《iOS Human Interface Guidelines》——Launch Files

启动文件 启动文件(或者图片)提供了简单的在你的app启动的时候iOS显示的占位图.这个占位图会让用户觉得你的app很快就有响应,因为它直接显示而且很快会被你的app的第一个屏幕代替.每个app都必须提供一个启动文件或者至少一个静态图片. 在iOS 8及以后的系统中,你可以创建一个XIB或者故事版文件来代替静态启动图片.当你在Interface Builder中创建一个启动文件时,使用尺寸类来定义不同显示环境的不同布局,使用Auto Layout来做小的调整.使用尺寸类和Auto Layout意

《iOS Human Interface Guidelines》——Toolbar Bar

工具栏 工具栏包含了执行与屏幕视图中的对象相关的操作的控件. 一个工具栏: 是半透明的 在iPhone上永远出现在屏幕视图的底部边缘.在iPad上也可以出现在屏幕视图的顶部边缘. 可以在键盘出现时.用户做一个手势时或者抱哈你的视图控制器过渡成水平紧凑环境时隐藏. API NOTE 工具栏一般包含在导航控制器(管理一系列层级的自定义视图显示的对象)内.查看Displaying a Navigation Toolbar和UIToolbar Class Reference来学习更多关于在你的代码中定义

《iOS Human Interface Guidelines》——Multitasking

多任务处理 多任务处理让人们在屏幕上(以及合适的iPad模式)查看多个app,并且在最近使用的app中快速地切换.在iOS 9中,人们可以使用多任务处理UI(如下所示)来选择一个最近使用的app. 在多任务处理环境中的成功取决于与设备上其他app的和谐共处.在高层面上,这意味着app应该: 用心地优化资源的使用来避免使用过多的CPU.内存.屏幕控件和其他资源 优雅地处理其他app的干扰和声音 停止和重新开始--即过渡到后台或从后台过渡--快速而平滑 当没有在前台时对行为负责 下面的特有的指南会帮

《iOS Human Interface Guidelines》——3D Touch

3D Touch 3D Touch让iOS 9的用户多了一个交互的维度.在支持的设备上,人们可以通过按压主屏幕上的app图标来快速地选择其特有的操作.在app内,人们可以使用多种压力来获取一个内容的预览.在另一个视图打开内容以及获取相关的操作.(查看Adopting 3D Touch on iPhone来学习更多关于在你的代码中支持3D Touch的内容.) Peek 和 Pop Peek让用户可以在不离开当前环境的情况下预览一个内容以及执行相关的操作.元素通过在轻按时显示一个小的矩形视图(有时

《iOS Human Interface Guidelines》——Collection View

集合视图 集合视图管理有序的条目集合并且在自定义的布局中显示它们. API NOTE 查看Collection View Programming Guide for iOS来学习更多关于在你的代码中定义集合视图的内容. 一个集合视图: 可以包含一些可选的视图来视觉上区分条目的子集合或者提供装饰性的内容,比如自定义背景 支持布局间自定义的过渡动画(集合视图默认提供用户插入.移动或删除条目的动画) 支持额外的手势识别来执行自定义的动作.集合视图默认识别点击(选中条目)和长按(编辑条目). 使用集合视

《iOS Human Interface Guidelines》——Undo and Redo

撤销与重做 用户通过摇动设备来发起一个撤销操作,这会显示一个警告框来让他们: 撤销他们刚刚输入的内容 重新输入以前未完成的输入 取消撤销操作 你可以在你的app中以一种更一般的方式来支持撤销操作,通过说明: 用户可以撤销或重做的动作 在何种情况下你的app应该将一个摇动事件看做一个撤销手势 支持何种程度的撤销 查看Undo Architecture学习如何在代码中实现这个行为.如果你的app支持撤销与重做,遵循下面的指南来提供一个好的用户体验. 提供简短的描述短语来精确地告知用户他们正在撤销或重

《iOS Human Interface Guidelines》——Sound

声音 无论声音是你app用户体验的主要部分还是一个可选的增益,你都要知道用户对声音有何期待以及如何满足这些期待. 理解用户的期待 用户可以使用设备的控制来影响声音,并且他们可能使用有线或无线的耳机.人们也对他们的行为如何影响他们听到的声音抱有很多期待.虽然你可能会发现有些期待很惊人,但这都遵循用户,而不是设备,决定的用户控制. 当用户想要做如下事情的时候他们会使设备静音: 避免被不期待的声音干扰,比如电话铃声和收到短信的声音 避免听到用户行为副产品的声音,比如键盘或其他反馈声音.附带声音或者ap

《iOS Human Interface Guidelines》——Page View Controller

页面视图控制器 页面视图控制器使用两种风格中的一种来管理多页面内容间的过渡--滚动或者翻页.这个是iOS模拟器中翻页的样子: API NOTE 查看Page View Controllers来学习更多关于在你的代码中定义页面视图控制器的内容. 一个页面视图控制器: 对滚动风格没有默认外观 对于翻页风格,页面视图控制器可以添加页面间的书脊外观. 根据特定的风格,为页面间的过渡添加动画 对于滚动风格,当前页面滚动到下一页:对于翻页风格,当前页会表现地像书或笔记本的翻页一样. 使用页面视图控制器展示用

《iOS Human Interface Guidelines》——Edit Menu

编辑菜单 用户可以显示一个编辑菜单来在文本视图.网页视图和图像视图执行诸如剪切.粘贴和选择的操作. 你可以调整一些菜单的行为来在你的app中给用户给多的内容控制.比如你可以: 指定哪一个标准菜单命令对当前的环境合适 在菜单显示之前决定菜单的位置这样你就可以保护你app UI中重要的部分免于被遮挡 当用户双击来显示菜单时决定默认选中的对象 你不能改变菜单它自己的颜色和形状. 查看Copy, Cut, and Paste Operations获取如何在代码中实现这些行为的信息. 为了确保你app中的