开始使用3D Touch

639 阅读5分钟

iOS 9及其之后,新款的iPhone机型会在用户界面上添加第三个维度。

  • 用户现在可以按压主屏幕图标立即访问你的应用程序提供的功能。
  • 在你的应用中,用户现在可以按压视图来查看其他内容的预览,并获得对内容的快速访问。

要使用示例代码,请下载以下Xcode项目:

开始前,请务必阅读iOS人机界面指南中的3D Touch

主屏幕快速操作

之前,用户可以通过点击图标来启动应用程序,或者可以触摸并按住任何应用程序来编辑主屏幕。现在,通过按压iPhone 6s或iPhone 6s Plus(译者注:及其之后的机型)上的应用程序图标,用户可以获得一组快速操作。当用户选择一个快速操作时,你的应用程序会被激活或启动,并且你的应用程序代理对象会收到这个快速操作的信息。

最好的快速操作是能够预测用户行为并提高用户与你的应用的互动效率。iOS 9 SDK提供的API可让你定义静态或动态的快速操作提供给用户使用新iPhone机型。

这两种类型的快速操作都可以显示最多两行文字以及一个可选图标。

Peek and Pop

你您现在可以通过启用应用程序中的视图控制器(UIViewController类的实例)来响应用户不同的按压强度。随着用户更深用力的按压,交互过程分三个阶段进行:

  1. 展示可预览的内容。
  2. 展示预览——我们称之为peek——并显示内容的处理选项——我们称之为peek快速操作
  3. 可以选择导航到预览中的视图——我们称之为pop

peek是否可用

Indication of peek availability

轻轻按一下,周围的内容模糊,告诉用户内容可以被预览——即peek是可用的。

Peek

Peek

更用力按下一点,视图变为显示peek,这是一个你通常设置为显示更多内容的视图——就像Mail应用程序在此处所做的一样。

如果用户此时结束了按压操作,则peek消失,并且应用程序返回到其在交互开始之前的状态。

此外,用户还可以更用力的按压peek视图本身,以使用系统提供的弹出式过渡动画,导航到peek预览的视图:然后peek视图将充满整个应用的根视图,并在导航栏上显示一个返回按钮,点击返回按钮应用将回到互动开始的状态。(这是peek的最后一个阶段——此处未显示。)

Peek快速操作

Peek quick actions

如果用户不是结束按压,而是向上滑动屏幕,系统会显示与peek相关的快速操作。

每个peek快速操作都是你的应用程序的深层链接(操作)。通过可见的快速操作,用户可以结束按压操作,并在屏幕上继续浏览peek视图。这允许用户点击快速操作,调用相关的深层链接(操作)。

你也可以在web view中允许链接进行peek和pop操作,详情请看Web View Peek and Pop.

Force属性

在iOS 9中,UITouch类具有两个新属性来支持在你的应用中自定义3D Touch的实现:forcemaximumPossibleForce。这是iOS设备上第一次使用这些属性,可以检测并响应应用程序收到的UIEvent对象中的按压压力。

按压的力量具有很高的动态范围,可用作应用程序的浮点值。

3D Touch的可访问性和人机界面指南

为确保所有用户都可以访问您的应用功能,请根据3D Touch是否可用来分别编写您的代码。请参阅检查3D Touch可用性

注意

3D Touch仅在已启用3D Touch的设备上可用。在iOS 9中,默认启用3D Touch。用户可以在设置 > 常规 > 辅助功能 > 3D Touch中关闭3D Touch。

3D Touch可用时,请利用其功能。当它不可用时,通过使用触摸或长按来提供替代方案。

3D Touch功能支持VoiceOver。要了解有关VoiceOver的信息,请阅读iOS的辅助功能编程指南

有关3D Touch提供的新功能的重要指导,请阅读iOS人机界面指南中的3D Touch

开发环境

Xcode 7支持3D Touch开发。Xcode的所有调试功能都可用于实现新功能。从Xcode 7.1开始,你可以使用Interface Builder配置3D Touch segues,如添加3D Touch Segues中所述。

注意

使用Xcode 7.1时,你必须在支持3D Touch的设备上开发。Xcode 7.1中的模拟器不支持3D Touch。

请务必在3D Touch已启用和禁用的两种环境中测试您的应用程序,确保所有用户都可以正常使用所有功能。在3D Touch设备上,你可以在设置 > 常规 > 辅助功能 > 3D Touch中禁用3D Touch。


NEXT

3D Touch APIs