如何在iOS 9中使用3D Touch?压力变化时会触发事件吗?

mrt*_*ksn 7 uikit uitouch ios

我想知道我是否能够在iPhone 6s上检测到不断变化的用户输入压力.

通过简单的触摸,很明显,从UIResponder你可以挂钩到touchesBegan和TouchesMoved,你每次用户触摸屏幕时都会有坐标,当他/她的手指移动时,你可以在每次更新时都有当前位置.

但是,我不确定new:force属性是如何工作的.如果你在touchesBegan中读到"force",你会不会得到一些在触摸开始时检测到的最小压力值?

有没有办法在力值变化时更新力值,就像touchesMoved一样?也许有一种像"forceChanged"这样的方法?

Rhy*_*man 11

来自iOS 9.1发行说明

在支持3D Touch的设备上,触摸压力变化会导致touchesMoved:被调用.

应该准备应用程序以接收触摸移动事件而不改变x/y坐标.

这意味着touchesMoved:回调指示连续更改force或位置或两者!

希望有一天这些信息能够进入UITouch documentation.