iOS 9之3D Touch
来源:互联网 发布:电子音乐制作软件水果 编辑:程序博客网 时间:2024/05/17 06:00
金田
北京时间9月10日凌晨, Apple在美国旧金山比尔格拉汉姆公民大礼堂(Bill Graham Civic Auditorium)召开新品发布会。本次着重介绍了3D Touch功能, 大体介绍一下:
- 增强版的Force Touch(压力触控)技术,Force Touch之前被应用在于Apple Watch
- 根据力度的不同,从而带来更多样化的用户体验。比如,用力按快进按钮会使快进的速度更快、用力度触摸代替了长按拖拽选项、用力按屏幕时用户可以自行调节应用界面等
- 在点击、滑动、缩放的基础上,为iPhone引入了两种新手势:预览(Peek)和敲击(Pop)。该功能可以让图片、邮件、信息和其他内容浮到屏幕的最表面,同时使其他内容出现虚化效果。内容突出显示效果随手指按压力度变化
- 通过与Retina屏幕集成的电容传感器实现,可以通过检测玻璃与背光的距离感知手指力度大小
- 目前支持3D Touch的设备只有 iPhone 6s 和 iPhone 6s Plus,即使配有Apple Pencil的强大如iPad Pro,也是不支持。不过按照Apple一贯的做法,之后再新出的加强版iPad Pro,应该是会整合该功能
- 3D Touch功能默认是开启的,但用户也可以在系统设置中把它关掉(Settings > General > Accessibility > 3D Touch)
- 支持3D Touch的最低系统要求为 iOS 9,开发人员则需要至少使用XCode 7 GM,目前的最新版为XCode 7.1 Beta
和开发人员关系比较密切的部分:
- Pressure Sensitivity:压力灵敏度,可以和绘画类及其它创作型软件结合使用,例如根据压力的大小来改变笔触/画线的粗细值。主要为UITouch类增加了一些新属性,例如estimatedProperties(触摸属性),updatedProperties(触摸对象更新)等,新增的API,主要集中在获取X/Y坐标时的精度部分,如 - PreciseLocationInView:,- PrecisePreviousLocationInView:等,有个需要特别注意的是UIForceTouchCapability,使用功能前,必须进行功能可用性检测
- Peek and Pop:新引入的手势,主要可以让用户预览内容,甚至进行操作。例如Mac中的文档预览快捷键,浏览器中的快照内容等
- Quick Actions:快捷菜单,完整名称是Home Screen Quick Actions,类似于电脑中的右键菜单,主要用于快捷操作,这个从它的API名字就可以看出来:UIApplicationShortcutItem。正如Apple描述的那样,让用户使用更少的操作步骤,更快的进行他们最常用的操作使用,总结一句就是“一键操作”。该部分也分了2个类型:静态 & 动态;其中静态方式在info.plist中进行配置;动态则通过UIApplicationShortcutItem等API进行代码级动态配置处理。系统默认会优先展示静态的Actions。若App安装后从未打开时,则默认只会展示静态Actions,只有至少完整启动一次之后,动态Actions才会出现。该部分之后会抽时间专门介绍一下。
图1 Quick Actions
小细节
- 在支持3D Touch功能的真机设备中,当Touch压力发生改变的时候,系统会调用 touchesMoved: API方法。这样导致的一个问题就是,在touch move事件中,X/Y坐标可能是没有发生改变的~~~建议App中最好兼容准备
- iPad Pro中搭配Apple Pencil之后,App的刷新率会发生改变。例如原本是 20/s,搭配Apple Pencil之后,则会变成 40/s。刷新率的提升可能是为了获取X/Y坐标时更加精确,但对于App的UI界面更新会造成影响,例如频繁的生成/删除内存对象等。
- 目前3D Touch 只能在真机设备中进行测试,模拟器中暂时无法进行调试/测试~~
- 目前国外已有开发者使用其他方式在低版本(iOS 9以下)系统中模拟出了类似 Quick Actions效果,感兴趣的可以搜索
参考链接
- https://developer.apple.com/ios/3d-touch/
- https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/Adopting3DTouchOniPhone/
- https://developer.apple.com/library/prerelease/ios/releasenotes/General/RN-iOSSDK-9.1/index.html#//apple_ref/doc/uid/TP40016570
版权所有,转载须注明作者(金田)及原文出处(原文)。
- iOS 9之3D Touch
- iOS 9 之 3D touch
- iOS 9 新特性之实现 3D Touch
- iOS开发之3D Touch
- 【IOS】iphone6s 3d touch之HelloWorld
- iOS开发-------3D Touch之ApplicationShortcutItem
- iOS之实现3D Touch
- ios 3D Touch
- iOS 3D touch
- iOS 3D Touch
- iOS 3D Touch
- iOS 9 以后使用3D touch()
- iOS 3D Touch开发
- iOS 3D Touch功能
- iOS 3D touch 开发
- iOS 3D Touch功能
- iOS 3D Touch 简述
- iOS 3D Touch功能
- 服务发现:Zookeeper vs etcd vs Consul
- Apache与Tomcat联系及区别
- js进度条(原创可用于学习)
- 轻松搞定面试中的二叉树题目
- 学习笔记 什么是事务型操作
- iOS 9之3D Touch
- 20个非常有用的Java程序片段
- 显示屏幕如何计算面积大小
- ubuntu下给用户添加sudo权限,并且如何取消sudo权限
- 整理echarts文档 (菜鸟发文 请多指教)
- 在Centos 7中使用 Docker搭建MySQL异地双向复制环境
- 约束动画
- ResultSet用法集锦
- NC63开发中遇到的访问权限限制问题