3D Touch 的官方文档翻译及个人总结
2015-11-30 14:15
204 查看
前几天给自家的APP加上了3D Touch.从学习到集成用了大半天的时间.(其实3D Touch so easy. 之所以用了大半天时间是因为3D Touch 的Home Screen Quick Actions 需要考虑一个问题.至于这个问题好不好解决,关键还是看你自己项目的主UI结构喽
)
官方文档翻译:
搭载iOS 9 系统的新手机型号(其实就是iPhone 6S 啦)为用户提供了一个三维的交互体验.
1. 用户可以点击APP的icon来直接执行app中的方法.
2. 在app内部,用户可以预览内容和快速进行一些操作.
博主总结在进行3D Touch开发时前要遵循两个原则:
1. 在没有3D Touch的设备要用其他手势代替该功能(比如长按...).
2. 必须在运行时检测 3D Touch 是否可用,因为用户可能会随时关闭3D
Touch. 具体操作和代码见这 里: http://blog.csdn.net/soindy/article/details/49904805
一 . Home Screen Quick Actions
之前用户可以轻点一个app的icon来加载它,或者长按来编辑其在屏幕的显示.现在在iPhone 6S 和iPhone 6S Plus,用户可用得带一个快捷菜单,当用户选择了一个快捷动作,你的应用程序被launch或者activate.相应的在appDelegate的代理方法中会收到该快捷动作的相关信息.
好的快捷启动是预测用户的操作,从而加速用户和app的交互.
这里有静态和动态两种快速启动方式.
1. 定义静态的快速启动只需要在app的Info.plist中定义UIApplicationShortcutItems数组即可.比如下图:
至于每个key代表的什么意思请看这里的官方文档翻译:点击打开链接
二 .Peek and Pop
你可以 enable 你app中的view controller来响应用户不同强度的按压.当用户不断用力的时候,交互分为三个阶段:
1. 指示该内容的preview是否可用.
2. 显示一个有快速选项(peek quick actions)的快速预览(peek的形式显示preview).
3. 在preview中显示的导航栏(optional). ----- pop
当你使用 peek 和 pop 的时候.系统判读这个压力的强度在哪个阶段,并且如何过渡到下一个,意思就是这个动作和动
画是苹果实现的,开发者不需要关系. 用户可以是 设置 -> 通用 -> 辅助功能 -> 3D Touch中调整peak and pop的灵
敏度.
1. 指示该内容的preview是否可用. 当轻轻的按的时候,周围的其他内容模糊,证明peek是可用的.
2. peek. 再稍微用力一点按压,来显示peek.peek一般用来显示更多内容.例如下面的Mail app.如果用户在这个点停止
按压.peek消失,app回到正常状态.
3. peek quick actions. 如果用户向上轻滑,系统会显示你定义的与之相关的quick actions.每一个peek quick action是你app的连接.用户轻点一个quick
action,可以调用这个连接.同样你也可以在web view中使用peek and pop.
三. Force Properties
在iOS 9 中.UITouch有2个新特性来支持你自定义3D Touch. force 和 maximumPossibleForece. 这些特性可以让你检测和反馈你app在UIEveent对象中收到的压力的大小.
Force是一个float值,高动态变化.
具体代码如下:
// 如果支持3Dtouch
if ([[[UIDevice
currentDevice] systemVersion]
floatValue] >= 9.0) { // 必须判断,否则低版本crash
if (self.traitCollection.forceTouchCapability
== UIForceTouchCapabilityAvailable) { // 必须动态检测
//
开启定时器发送命令
if (!_touchTimer) {
_touchTimer = [NSTimer
scheduledTimerWithTimeInterval:0.1
target:self
selector:@selector(touchStrengthChanged)
userInfo:nil
repeats:YES];
}
}
- (void)touchStrengthChanged {
if (self.touchStrength.force >
0) {
NSLog(@"%d",self.touchStrength.force);
}
}
四. 3D Touch的可用性和人机交互指南
3D Touch仅在支持3D Touch的设备并且3D
Touch打开的时候可用.在iOS9中3D Touch默认是打开的..用户可以在设置中将其关闭.当3D Touch可用的时候,好好的利用它的特性.而在不可用的设备要提供相对应的实现,比如实现 touch and hold(就是长按). 3D
Touch也支持VoiceOver.
)
官方文档翻译:
搭载iOS 9 系统的新手机型号(其实就是iPhone 6S 啦)为用户提供了一个三维的交互体验.
1. 用户可以点击APP的icon来直接执行app中的方法.
2. 在app内部,用户可以预览内容和快速进行一些操作.
博主总结在进行3D Touch开发时前要遵循两个原则:
1. 在没有3D Touch的设备要用其他手势代替该功能(比如长按...).
2. 必须在运行时检测 3D Touch 是否可用,因为用户可能会随时关闭3D
Touch. 具体操作和代码见这 里: http://blog.csdn.net/soindy/article/details/49904805
一 . Home Screen Quick Actions
之前用户可以轻点一个app的icon来加载它,或者长按来编辑其在屏幕的显示.现在在iPhone 6S 和iPhone 6S Plus,用户可用得带一个快捷菜单,当用户选择了一个快捷动作,你的应用程序被launch或者activate.相应的在appDelegate的代理方法中会收到该快捷动作的相关信息.
好的快捷启动是预测用户的操作,从而加速用户和app的交互.
这里有静态和动态两种快速启动方式.
1. 定义静态的快速启动只需要在app的Info.plist中定义UIApplicationShortcutItems数组即可.比如下图:
至于每个key代表的什么意思请看这里的官方文档翻译:点击打开链接
二 .Peek and Pop
你可以 enable 你app中的view controller来响应用户不同强度的按压.当用户不断用力的时候,交互分为三个阶段:
1. 指示该内容的preview是否可用.
2. 显示一个有快速选项(peek quick actions)的快速预览(peek的形式显示preview).
3. 在preview中显示的导航栏(optional). ----- pop
当你使用 peek 和 pop 的时候.系统判读这个压力的强度在哪个阶段,并且如何过渡到下一个,意思就是这个动作和动
画是苹果实现的,开发者不需要关系. 用户可以是 设置 -> 通用 -> 辅助功能 -> 3D Touch中调整peak and pop的灵
敏度.
1. 指示该内容的preview是否可用. 当轻轻的按的时候,周围的其他内容模糊,证明peek是可用的.
2. peek. 再稍微用力一点按压,来显示peek.peek一般用来显示更多内容.例如下面的Mail app.如果用户在这个点停止
按压.peek消失,app回到正常状态.
3. peek quick actions. 如果用户向上轻滑,系统会显示你定义的与之相关的quick actions.每一个peek quick action是你app的连接.用户轻点一个quick
action,可以调用这个连接.同样你也可以在web view中使用peek and pop.
三. Force Properties
在iOS 9 中.UITouch有2个新特性来支持你自定义3D Touch. force 和 maximumPossibleForece. 这些特性可以让你检测和反馈你app在UIEveent对象中收到的压力的大小.
Force是一个float值,高动态变化.
具体代码如下:
// 如果支持3Dtouch
if ([[[UIDevice
currentDevice] systemVersion]
floatValue] >= 9.0) { // 必须判断,否则低版本crash
if (self.traitCollection.forceTouchCapability
== UIForceTouchCapabilityAvailable) { // 必须动态检测
//
开启定时器发送命令
if (!_touchTimer) {
_touchTimer = [NSTimer
scheduledTimerWithTimeInterval:0.1
target:self
selector:@selector(touchStrengthChanged)
userInfo:nil
repeats:YES];
}
}
- (void)touchStrengthChanged {
if (self.touchStrength.force >
0) {
NSLog(@"%d",self.touchStrength.force);
}
}
四. 3D Touch的可用性和人机交互指南
3D Touch仅在支持3D Touch的设备并且3D
Touch打开的时候可用.在iOS9中3D Touch默认是打开的..用户可以在设置中将其关闭.当3D Touch可用的时候,好好的利用它的特性.而在不可用的设备要提供相对应的实现,比如实现 touch and hold(就是长按). 3D
Touch也支持VoiceOver.
相关文章推荐
- EXT4文件系统 mount 参数翻译
- linux基础命令学习之rm(6)
- Jquery 实现div拖拽
- execinfo.h
- mysql 性能优化实践(转)
- jmeter-HTTP COOKIE Manager
- 轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
- 缺少 .BLL文件解决方案
- session/application/bean的学习
- Apache Spark数据分析教程(二):Spark SQL
- android学习笔记18 - activity反馈:startActivityForResult、setResut和onActivityResult
- flume 收集日志到HDFS
- ubuntu 下安装crypto
- android通知栏的变色
- Android UI控件之ImageSwitcher(图片切换)
- Bugtags 使用技巧之 sendFeedback
- Redis Mass Insertion
- sql cast 和convert使用详解
- imageLoader的初始化
- UNIX网络编程练习-获取客户端IP和端口