版本记录
版本号 | 时间 |
---|---|
V1.0 | 2018.10.27 星期六 |
前言
3D Touch是一种立体触控技术,被苹果称为新一代多点触控技术,是在Apple Watch上采用的Force Touch,屏幕可感应不同的感压力度触控。3D Touch,苹果iPhone 6s以后的机型中出现的新功能,看起来类似 PC 上的右键。有Peek Pop 两种新手势。2015年9月10日,苹果在新品发布会上宣布了3D Touch功能。Force Touch和3Dtouch其实是基于同一种技术,且都基于苹果的Taptic引擎,但是不管你承不承认或者有没有意识到,3D Touch的确更优于Force Touch。接下来这个专题我们就看一下3D Touch相关的内容。感兴趣的可以看下面几篇文章。
1. 3D Touch相关(一) —— 基于3D Touch的Peek 和 Pop(一)
开始3D Touch之旅
在iOS 9中,新的iPhone型号为用户界面添加了第三个维度。
- 用户现在可以按主屏幕图标以立即访问应用程序提供的功能。
- 在您的应用中,用户现在可以按视图查看其他内容的预览,并获得对功能的加速访问。
要想深入了解示例代码,请下载以下Xcode项目:
- ApplicationShortcuts: Using UIApplicationShortcutItems,演示Home屏幕静态和动态快速操作。
- ViewControllerPreviews: Using the UIViewController previewing APIs,演示peek(预览)和pop(提交),以及查看快速操作。
- TouchCanvas: Using UITouch efficiently and effectively,它演示了UITouch类中的新强制属性。
在开始采用之前,请务必阅读iOS Human Interface Guidelines
中的3D Touch。
Home Screen Quick Actions - 主屏幕快速操作
用户始终可以点按应用图标以启动它,或触摸并按住任何应用以编辑主屏幕。 现在,通过按iPhone 6s或iPhone 6s Plus以上机型的应用程序图标,用户可以获得一组快速操作。 当用户选择快速操作时,您的应用会激活或启动,您的应用委托对象会收到快速操作消息。
最好的快速操作可以加速用户与您的应用的互动。 iOS 9 SDK提供的API允许您定义静态或动态快速操作,可供具有新iPhone模型的用户使用。
- 在UIApplicationShortcutItems数组中的应用程序的
Info.plist
文件中定义静态快速操作(static quick actions)
。 - 使用UIApplicationShortcutItem类和关联的API定义动态快速操作
(dynamic quick actions)
。 使用新的shortcutItems属性将动态快速操作添加到应用程序的共享UIApplication对象。
两种类型的快速操作都可以显示不超过两行的文本以及可选图标。
Peek and Pop
您现在可以在应用程序中启用视图控制器(UIViewController类的实例)以响应各种强度的用户按压。 随着用户更深入地按下,交互通过三个阶段进行:
- 指示内容预览可用。
- 显示预览 - 称为
peek
选项,直接对其进行操作 - 称为peek quick actions
。 - 可选导航到预览中显示的视图 - 称为
pop
。
当您使用peek and pop
时,系统会确定一个阶段转换到下一个阶段的压力。 用户可以在Settings > General > Accessibility > 3D Touch
中调整转换。
1. Indication of peek availability - 指示peek可用性
通过轻按,周围的内容模糊,告诉用户预览其他内容 - peek - 可用。
2. Peek
再用力按一下,视图将转换为显示peek
,您通常配置的视图显示更多内容 - 正如Mail
应用程序在此处所做的那样。
如果用户此时结束触摸,则peek
消失并且应用程序返回到交互开始之前的状态。
或者此时,用户可以更深入地按下peek
本身,使用系统提供的pop
过渡导航到正在预览的视图:pop
视图然后填充应用程序的根视图并显示导航按钮回到互动开始的地方。 (弹出视图(pop view)
的最终阶段显示 - 此处未显示。)
3. Peek quick actions - Peek快速操作
如果不是结束触摸,用户向上滑动peek
,系统会显示您与peek
相关联的快速动作。
每个peek
快速操作都是您应用的深层链接。 通过peek
快速操作,用户可以结束触摸并且peek
仍然在屏幕上。 这允许用户点击快速动作,调用相关的深层链接。
您还可以在Web视图中启用peek和pop链接,如Web View Peek and Pop中所述。
Force Properties
在iOS 9中,UITouch类有两个新属性可支持应用程序中3D Touch的自定义实现:force和maximumPossibleForce。 iOS设备上首次使用这些属性可以检测并响应应用程序收到的UIEvent对象中的触摸压力。
触摸力具有高动态范围,对于你的应用程序可作为一个浮点值。
Accessibility and Human Interface Guidelines for 3D Touch - 3D Touch的辅助功能和人机交互指南
为确保您的所有用户都可以访问您应用的功能,请根据3D Touch是否可用来编写您的代码。 请参阅Checking for 3D Touch Availability。
注意:3D Touch仅适用于3D Touch设备和启用该功能时候有效。 在iOS 9中,默认情况下启用3D Touch。 用户可以在
Settings > General > Accessibility > 3D Touch
中关闭3D Touch。
当3D Touch可用时,请充分利用其功能。 如果没有,请提供替代方案,例如使用触摸和保持。
3D Touch功能支持VoiceOver
。 要了解VoiceOver
,请阅读Accessibility Programming Guide for iOS。
有关3D Touch可用的新功能的重要指导,请阅读iOS Human Interface Guidelines
中的3D Touch。
Development Environment - 开发环境
Xcode 7支持3D Touch开发。 Xcode的所有调试功能都可用于实现新功能。 从Xcode 7.1开始,您可以使用Interface Builder
配置3D Touch segues
,如添加Adding 3D Touch Segues
中所述。
截止到写这篇文章时候,Xcode已经到了10.0,应该没有人用Xcode 7了吧,所有可以说目开发者使用的Xcode都已经支持了3D Touch的开发了。
后记
本篇主要讲述了3D Touch简介,感兴趣的给个赞或者关注~~~