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

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

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

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

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

解决方法

iOS 9.1 Release Notes

On 3D Touch capable devices,touch pressure changes cause touchesMoved: to be called.

Apps should be prepared to receive touch move events with no change in the x/y coordinates.

这意味着touchesMoved:callback指示力或位置或两者的连续变化!

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...