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

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下载

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 关于这篇文章 由于iPhone 6S发布不到一年的时间,很多新特性、新技术还未普遍,不管是3D Touch的...
    Tangentw阅读 4,632评论 8 18
  • 前言 关于3D touch苹果官方文档是这么开始介绍的: 大意如下:iOS9开始,所有新的手机都增加了一个三维的用...
    VV木公子阅读 2,280评论 3 39
  • 专著:http://www.jianshu.com/p/3443a3b27b2d 1.简单的介绍一下3D Touc...
    violafa阅读 1,047评论 1 0
  • 1.简单的介绍一下3D Touch 3D Touch的触控技术,被苹果称为新一代多点触控技术。其实,就是此前在Ap...
    Camille_chen阅读 12,150评论 19 33
  • 3D Touch简介 2015年,苹果发布了iOS9以及iphone6s/iphone6s Plus,其中最具有创...
    爱恨的潮汐阅读 402评论 0 2