OUR BLOG

18 Feb 2022

用户体验 – 指针 (iPadOS)

iPadOS 提供动态指针效果和行为,增强了在 iPad 上使用指针设备的体验。当人们使用指点设备时,iPadOS 会自动根据当前上下文调整指针,提供丰富的视觉反馈和恰到好处的精确度,以提高工作效率和简化常见任务。
iPadOS 指点系统为人们提供了与应用程序和内容交互的另一种方式——它不会取代触控。有些人可能会继续只使用触摸,而其他人可能更喜欢使用指针或两者的组合。让人们选择如何与您的应用交互,并避免压缩您的界面或进行需要他们使用指针的更改。

如需开发者指南,请参阅指针交互。
启用指针交互
旨在提供一致的体验,无论人们使用触摸、指点设备还是键盘。人们倾向于在使用触摸和连接的输入设备之间流畅地移动,他们不想为每种模式或他们使用的每个应用程序学习不同的交互。
当人们在连接的设备上使用熟悉的手势时,请确保您的应用程序中的所有区域都能正确响应。例如,如果人们可以通过在屏幕上滑动手指来操作内容,请考虑让他们通过在触控板上使用两根手指、使用指针单击和拖动或移动鼠标滚轮来执行相同的操作是否有意义.如需开发者指南,请参阅 UIApplicationSupportsIndirectInputEvents。
当人们在与您的应用程序中的对象交互时按住修饰键时,可以实现一致的体验。例如,如果人们可以通过在拖动对象时按住 Option 键来复制对象,则无论使用触摸还是指针进行拖动,结果都应该相同。
仅当指针输入和手指输入提供值时才能区分它。例如,当人们使用指针时,洗涤器可以为人们提供一种额外的方式来定位视频中的某个位置。在这种情况下,人们可以使用指针或触摸来拖动播放头,但他们可以悬停并使用指针单击精确的搜索目标。
让人们使用悬停来显示和隐藏自动最小化或淡出的控件。例如,人们可以通过将指针悬停在其上来显示最小化的 Safari 工具栏(当指针移开时,工具栏会再次最小化)。人们还可以在观看全屏视频时悬停指针以显示或隐藏播放控件。
必要时在自定义视图中启用多项选择。在 iPadOS 15 及更高版本中,人们可以在多个项目上单击并拖动指针以选择它们。当人们以这种方式使用指针时,它会扩展为一个可见的矩形,用于选择它所包含的项目。标准的非列表集合视图默认支持这种交互;如果要在自定义视图中支持多选,则需要自己实现。如需开发者指南,请参阅 UIBandSelectionInteraction。
指针形状和内容效果
iPadOS 集成了指针和悬停元素的外观和行为,将焦点集中在人们瞄准的项目上。您可以支持系统提供的指针效果或修改它们以适合您的应用程序。
默认情况下,指针的形状是圆形,但当它悬停在特定元素或区域上时,它可以显示系统定义或自定义的形状。例如,当指针悬停在文本输入区域上时,它会自动使用熟悉的 I 形。

借助内容效果,指针下方的 UI 元素或区域也可以在指针悬停在其上时更改其外观。根据内容效果的类型,指针可以保留其当前形状或转换为与元素新外观相结合的形状。
iPadOS 定义了三种内容效果,可将焦点集中到应用程序中不同类型的交互元素上:突出显示、提升和悬停。
高亮效果将指针转换为半透明的圆角矩形,充当控件的背景并包含柔和的视差。微妙的突出显示和移动将注意力集中在控件上,而不会分散人们的注意力。默认情况下,iPadOS 将高亮效果应用于栏按钮、标签栏、分段控件和编辑菜单。

提升效果将微妙的视差与高度的外观相结合,使元素看起来像是漂浮在屏幕上方。随着指针在元素下方淡出,iPadOS 通过放大元素并在其下方添加阴影并在其顶部添加柔和的镜面高光来创建提升的错觉。默认情况下,iPadOS 会将提升效果应用于 App 图标和控制中心的按钮。

悬停是一种通用效果,可让您在指针悬停在元素上时将自定义比例、色调或阴影值应用于元素。悬停效果结合您的自定义值以将焦点带到项目上,但它不会改变默认指针形状。

提供指针配件
指针附件是视觉指示器,可帮助人们了解如何使用指针与当前 UI 元素进行交互。例如,接近可调整大小元素的指针可能会显示小箭头,以指示该元素允许沿某个轴调整大小。
与指针形状和内容效果不同,附件是可以与任何指针组合以传达附加信息的辅助项目。如需开发者指南,请参阅 UIPointerAccessory。
使用清晰、简单的图像来创建自定义配件。指针附件很小,因此必须创建一个在不使用太多细节的情况下传达指针交互的图像。
考虑使用附件转换来表示元素状态或行为的变化。除了为指针配件的出现和消失设置动画外,该系统还为可以伴随内容效果的配件形状和位置之间的过渡设置动画。例如,您可以通过将指针附件从加号转换为无符号来传达添加操作已变得不可用的信息。
指针磁性
iPadOS 通过使元素看起来吸引指针来帮助人们使用指针来定位元素。当人们将指针移近一个元素以及将指针轻弹向一个元素时,他们会体验到这种磁效应。
当人们将指针靠近元素时,系统会在指针到达元素的命中区域时立即开始变换指针的形状。因为元素的点击区域通常会超出其可见边界,所以指针在似乎接触到元素本身之前就开始变形,从而产生元素正在将指针拉向它的错觉。

当人们将指针轻弹到某个元素时,iPadOS 会检查指针的轨迹以发现最有可能成为目标的元素。当指针的路径中有元素时,系统会使用磁力将指针拉向元素的中心。
默认情况下,iPadOS 将磁力应用于使用提升效果(如应用程序图标)和高亮效果(如条形按钮)的元素,但不应用于使用悬停的元素。因为启用悬停的元素不会改变默认的指针形状,所以添加磁力可能会令人不快,并且可能会让人们觉得他们失去了对指针的控制。
该系统还将磁力应用于文本输入区域,如果人们在选择文本时做出意外的垂直移动,它可以帮助人们避免跳到另一行。

支持标准指针和效果
如果可能,启用系统提供的内容效果。人们很快就会习惯他们在整个系统中看到的内容效果,并且通常希望他们的体验适用于他们使用的应用程序。为了提供一致的用户体验,请遵守每个效果的设计意图。具体来说:
* 对具有透明背景的小元素使用高亮显示。
* 对背景不透明的小元素使用提升。
* 对大型元素使用悬停,并根据需要自定义比例、色调和阴影属性(有关指导,请参阅自定义指针形状和效果)。
首选标准按钮和文本输入区域的系统提供的指针外观。当指针以他们期望的方式运行时,您可以帮助人们对您的应用程序感到更舒服。
在交互元素周围添加填充以创建舒适的点击区域。您可能需要尝试确定元素命中区域的正确大小。如果命中区域太小,则会让人觉得在与元素交互时必须格外精确。另一方面,当一个元素的命中区域过大时,人们会觉得将指针从元素上拉开需要很大的力气。一般来说,在包括边框的元素周围添加大约 12 个填充点效果很好;对于没有边框的元素,在元素的可见边缘周围添加大约 24 个填充点效果很好。

为自定义条形按钮创建连续的点击区域。如果条中相邻按钮的点击区域之间存在空间,则当指针在按钮之间移动时短暂恢复到默认形状时,人们可能会感到分心。
指定接收提升效果的非标准元素的角半径。使用系统提供的提升效果,指针会在淡出时变换以匹配元素的形状。默认情况下,指针使用系统定义的圆角半径转换为圆角矩形。如果您的元素是不同的形状(例如,如果它是圆形),则需要提供半径,以便指针可以无缝地动画到元素的形状中。如需开发者指南,请参阅 UIPointerShape.roundedRect(_:radius:)。
自定义指针形状和效果
对于行为类似于标准元素的自定义元素,首选系统提供的指针效果。当一个自定义元素表现得像一个标准元素时,人们通常希望使用熟悉的指针交互与它进行交互。例如,如果自定义导航栏中的按钮不使用标准的高亮效果,人们可能会认为它们坏了。
在整个应用程序中以一致的方式使用指针效果。例如,如果您的应用程序帮助人们绘图,则应用程序中的每个绘图区域都应该启用类似的指针体验,以便人们可以将他们在一个区域中获得的知识应用到其他区域。
避免创建无端的指针和内容效果。人们会注意到指针的外观或其下方的 UI 元素何时发生变化,并且他们希望这些变化是有用的。创建一个纯粹的装饰性指针效果会分散人们的注意力,甚至会激怒人们,而不会提供任何实用价值。
保持自定义指针形状简单。理想情况下,指针的形状表明人们可以在当前上下文中采取的行动,而不会引起过多关注。如果人们不能立即理解您的自定义指针形状,他们很可能会浪费时间试图发现形状的含义。
考虑通过显示提供有用信息的自定义注释来增强指针体验。例如,当指针悬停在应用程序的图形区域上时,您可以显示 X 和 Y 值。 Keynote 使用注释来显示可调整大小图像的当前宽度和高度。

避免使用指针显示说明性文本。显示说明性文本的指针会使应用程序看起来复杂且难以使用。与其提供说明,不如优先考虑界面的清晰性和简洁性,以便人们可以快速掌握如何使用您的应用程序,无论他们是使用指针还是触摸屏幕。
在定义自定义悬停效果时,请考虑阴影、比例和元素间距的相互作用。通常,为可以增加大小而不会拥挤附近元素的元素保留缩放比例。例如,缩放不适用于表格行,因为如果不重叠相邻行,行就无法扩展。对于周围空间很小的元素,请考虑使用包含色调但不包含缩放和阴影的悬停效果。请注意,在不包含比例的情况下使用阴影效果不佳,因为未缩放的元素似乎不会更靠近观察者,即使它的阴影暗示它高于屏幕。

admin