使用3D触控,是否可以将iphone 6s变为简单的音阶?

时间:2015-09-28 03:15:32

标签: iphone 3dtouch

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

  1. 翻转iPhone,用4个手指在屏幕下支撑
  2. iPhone标志着压力 - > P0 []
  3. 将手指放在手指上
  4. iPhone标志着新的压力 - > P1 []
  5. 如果我们还有finger_area0 []和finger_area1 [](按下时),那么:

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

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

    但首先,iPhone 6s是否提供

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

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:2)

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

从UITouch对象获得的“force”值的范围为0到6.66667,并且表示0到400克之间的权重。看起来这个范围内的值非常线性,因此很容易将原始值转换为实际重量。

但当然这只是一个有趣的项目,因为当屏幕检测到触摸时你只获得“强制”值,并且触摸屏无法检测到许多物体(塑料,木头等)。