在iOS 9 中,新的iPhone机型添加了 a third dimension 到用户界面
用户能通过按下Home 建 快速访问到你app 提供的功能之中
在你的app 内部,用户能够通过按压的方式来预览增加的内容和快速访问这下特性内容
为了能直接使用,请下来以下的xcode 项目
ApplicationShortcuts: Using UIApplicationShortcutItem 其中演示了home 的静态和动态行为
ViewControllerPreviews: Using the UIViewController previewing APIs 其中演示了 peek(预览) 和pop (提交),同时预览的快速行为方式
- TouchCanvas: Using UITouch efficiently and effectively, 其中演示了添加到UITouch 类中的新的 force 属性
在你使用之前,请确保 你已经阅读过 3Dtouch内容在 iOS Human Interface Guidelines 上面
用户能够使用点击应用程序图标来启动它,或者通过长按应用图标到编辑状态. 现在,通过点击iPhone 6 或 iPhone6 plus 上的应用图标,用户能够获得一系列的快速启动的行为。当用户使用选择某个行为的时候,应用程序会激活 并且运行起来,你的应用程序的代理对象会获得一个快速行为消息
最好的快速启动行为能够预测并且加快用户与你应用程序的交互,iOS 9 的SDK 提供 一系列的API ,能够让你自定义一些静态或动态行为,但是,这些仅仅是对新的iPhone 机型有效
- 定义静态的行为,你只需要定义在你应用程序的info.plist 文件的 UIApplicationShortcutItems 数组中
- 定义动态的行为,使用
UIApplicationShortcutItem
类 和相关的api,添加动态的行为,你只需要在应用程序的UIApplication 对象中使用
shortcutItems 属性
两种快速行为 能够展出出一个 文本提示 和一个 可选的图标
Peek and Pop
现在 你可以利用你的视图控制器(UIViewController 的实例化对象) 来相应用户按压的不同力度。随着用户按压力度越来越大,有三个阶段的交互过程:
- 交互显示内容预览
- 类似偷窥一样的能够直接作用在上面的预览功能 被称之为 peek quick actions (这玩意 一直翻译不准)
- 在视图展示中显示可选导航—称之为 pop
当你使用peek 和 pop 的时候,系统自动检测按压的力度 并且决定一个交互阶段到下一个交互的阶段,用户能够调整交互顺序在
Settings > General > Accessibility > 3D Touch中
Indication of peek availability
当轻按的界面的时候,会再按压的周边显示毛玻璃效果,能让用户预览该内容——peek 有效了
Peek
按压力度更深一点之后,视图开始由 peek 转换,能够展示一个视图,直接用于展示跟多的内容,就像 邮件应用程序展示的一样
如果用户在这个阶段结束了交互,peek 展现的视图消失,呈现出交互之前的状态
这个阶段是可选的,用户还可以通过增大按压力度直到显示导航,使用系统提供的 弹出过度,这个视图称作“偷窥”:弹出视图填充你的应用根视图,并且返回一个按钮导航回到开始交互的地方
(最后阶段弹出的视图,并不在这里显示)
Peek quick actions
如果用户不是结束触控,用户点击查看,系统显示的 你设定好的快速查看行为
每一个快速查看行为是与你的app 相联系,当快速查看行为可见的时候,此时用户能够结束触控,peek 能够仍然显示在屏幕上,允许用户点击某个行为,调用相关联的深层连接
你也可以让peek 和pop使用在web 视图上面,内容描述在Web View Peek and Pop 中
Force Properties
在iOS 9 中,UITouch 类中新增了两个属性来支持应用程序实现 3D touch: force 和
maximumPossibleForce,这些属性能够让你的事件监听对象在第一时间检测和相应不同的按压力度
触控按压的力度有一个动态范围,可作为一个浮点值传入到你的应用程序中
Accessibility and Human Interface Guidelines for 3D Touch
为了确保所有的用于能够访问你的新特性,根据你的应用程序是否有3D 触控 来分支你的代码,相关内容可参考:Checking for 3D Touch Availability.
提示: 3D 触控仅仅在能支持3D 触控的设备并且开启的时候有效,在iOS9 中,默认是开启的,用户可以关闭3D 触控在 Settings > General > Accessibility > 3D Touch.
当3D touch 有效的时候,充分利用其功能,当无效的时候,提供一些可选的 ,例如触摸和保持
3D Touch 新特新支持 VoiceOve,为了学习 VoiceOve 请参阅 Accessibility Programming Guide for iOS.
为了了解更多 3D Touch 的新功能,阅读 iOS Human Interface Guidelines
Development Environment
xcode 7 支持3D 触控的开发,新的调试特性对于实现 3D 触控 新特新是有效的
你必须知道的:
当使用XCode 7 开发 3D Touch 的时候,你必须使用能够支持3D 触控的真机来测试,模拟器不支持 3D Touch
使用Xcode7 ,你必须在代码中实现 你的peek 和pop 视图控制器,Xcode 7 的Interface Builde 不支持图形化界面来支持 配置视图控制器或者3D touch的转变
确保 你测试3D touch的应用程序开启或禁用,确认所有的新特性对所有的用户都是有效的,在3D 支持的设备上,你也能够禁用3D 触控 在 Settings > General > Accessibility > 3D Touch.
——————————————————————————————————————————
这是本人第一次翻译官方文档,很多模糊不清,还望指针,后续会陆续的更新