【发布时间】:2015-07-06 00:49:11
【问题描述】:
考虑在UIView 上单击一下手指的情况。我知道您可以从 UITouch 对象中获取点击的CGPoint,但是是否有可能获取属于UITouch 的所有CGPoints(即手指下的所有点)?触摸屏硬件必须检测到导电材料正在触摸的所有屏幕点,但 Apple 是否提供它?
【问题讨论】:
标签: ios objective-c uiview uitouch cgpoint
考虑在UIView 上单击一下手指的情况。我知道您可以从 UITouch 对象中获取点击的CGPoint,但是是否有可能获取属于UITouch 的所有CGPoints(即手指下的所有点)?触摸屏硬件必须检测到导电材料正在触摸的所有屏幕点,但 Apple 是否提供它?
【问题讨论】:
标签: ios objective-c uiview uitouch cgpoint
你得到的不仅是计算出的触摸中心(稍作修正,因为人们倾向于触摸略低于他们目标点的位置),还有一个名为 majorRadius 的变量。在 iOS8 中,它以 10.45 毫米的增量给出,变量majorRadiusTolerance 增加了这个测量值的变化。方便的是,在我的测量中majorRadiusTolerance 总是以增量大小的一半出现,因此报告为 31.35 毫米的触摸可以在 26.125 毫米和 36.575 毫米之间的任何位置。当然,这只是一个近似值,因为非圆形物体仍然会引发点和半径,仅此而已。
我同意,更精确的应该是可能的,但是你在哪里划界呢?您越远离触摸中心,电容信号就会减弱,最终在哪里结束是一个任意决定。
【讨论】: