2

假设 3D touch 报告准确的压力,那么可以执行以下操作:

  1. 翻转iPhone,屏下4指支撑
  2. iPhone 标记压力 -> p0[]
  3. 将物体放在手指上
  4. iPhone 标记新压力 -> p1[]

如果我们还有 finger_area0[] 和 finger_area1[](按下时),那么:

weight_object ~= Sum(finger_area1*p1)-Sum(finger_area0*p0)-weight_iphone

可能还有很多实现细节(对于一个简单的愚蠢规模......)

但首先,iPhone 6s 是否提供

  1. 准确的压力
  2. 按压手指区域?
4

2 回答 2

2

哈,我想知道第一个 6S 药物秤应用程序什么时候会出现。

您想要的属性可用于UITouch

force                 // iOS9/6S
maximumPossibleForce  // iOS9/6S

majorRadius           // iOS8
majorRadiusTolerance  // iOS8

您可以通过覆盖以下UIResponder方法来检查它们:

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
于 2015-09-28T23:21:34.683 回答
2

实际上这是可能的,尽管它有其局限性。iPhone 6s Plus 可以测量 0 到 400 克左右的重量。我已经编写了一个有趣的小应用程序,它可以将 iPhone 6s 变成厨房秤 ;-) 我制作了一个小视频:https ://youtu.be/mzuJOWDI6tE

您从 UITouch 对象获得的“力”值的范围从 0 到 6.66667,表示重量在 0 到大约 400 g 之间。看起来这个范围内的值是非常线性的,因此很容易将原始值转换为实际重量。

但这当然只是一个有趣的项目,因为只有当屏幕检测到触摸时您才会获得“力”值,而触摸屏无法检测到许多物体(塑料、木材等)。

于 2015-10-02T16:45:42.553 回答