美文网首页ios
iOS 3D touch开发 Force Properties-

iOS 3D touch开发 Force Properties-

作者: 木易林1 | 来源:发表于2017-02-14 14:39 被阅读197次

    iOS 3D touch开发(三) Force Properties-按压力度

    3D touch介绍

    3D touch 是ios9+、iphone6s+的新功能,简单的说3Dtouch就是用力按压,通过3Dtouch增加了一组手势交互方式。

    3D touch主要常见的使用:

    1:Home Screen Quick Actions (主屏快捷行为入口)

    2:peek and pop (预览和弹出)

    3: Web view peek and pop API (HTML链接预览功能)

    4:Force Properties (按压力度)

    前一篇文章介绍了peek and pop (预览和弹出)和Web view peek and pop API,本文主要介绍Force Properties (按压力度)

    介绍

    ios9中添加在UITouch中添加了2个属性,用于感知手指按下的力度

    force : 手指按下的力度

    maximumPossibleForce : 最大可能的力度

    有了这两个属性,就可以做出更多的用户体验,比如绘画时候可以根据按下的力度去选择笔触的粗细等等

    代码实现

    我写个简单的demo,在上一篇文章的详细页面中追加代码,手指按住详细页中的UIView时,手指在屏幕上慢慢增加力度在减少力度,可以看到view背景色的变化。

    进入详细页的方式: table随便选择一个cell,用力touch弹出预览,再次用力touch进入details页

    代码:

    我们修改UIVIewController的touchesMoved方法,获取到touch对象和force,maximumPossible数据,然后用这个数据重新构造背景色。

    overridefunctouchesMoved(touches:Set,withEventevent:UIEvent?){iftraitCollection.forceTouchCapability==.Available{lettouch=touches.firstNSLog("\nforce:%f,maximumPossibleForce:%ff",touch!.force,touch!.maximumPossibleForce)view.backgroundColor=UIColor(red:0.5,green:0.5,blue:(touch?.force)!/(touch?.maximumPossibleForce)!,alpha:100)}}

    demo

    本文的demo下载

    相关文章

      网友评论

        本文标题:iOS 3D touch开发 Force Properties-

        本文链接:https://www.haomeiwen.com/subject/cnbxwttx.html