iOS 9.0在force类上添加了新属性UITouch。对于新的iPhone(6S),这可以获取用户手指压力的价值。
force属性的值似乎设置在0到6.66667之间。

iOS 9还添加了“窥视”和“弹出”功能-当用户在某些控件上达到特定的手指按压级别时,将触发编程的动作。

我的问题是:就forceUITouch属性的值而言,这些压力等级(用于窥视和弹出)是什么?

换句话说,我需要为force属性设置一个阈值,以便要求用户施加与使用“窥视”(或“弹出”)功能时相同的手指压力水平吗?

最佳答案

您可以尝试使用以下功能观察force值。看来,对于eek来说force的值为1.33(归一化的力= 0.20),对于pop来说force的值为5.0(归一化的力= 0.75)。

- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    [super touchesMoved:touches withEvent:event];

    UITouch *touch = [touches anyObject];

    CGFloat maximumPossibleForce = touch.maximumPossibleForce;
    CGFloat force = touch.force;

    NSLog(@"***** force value : %f", force);

    CGFloat normalizedForce = force/maximumPossibleForce;

    NSLog(@"Normalized force : %f", normalizedForce);

    if (normalizedForce > 0.75)
    {
        // Pop
    }
    else if (normalizedForce > 0.20)
    {
        // Peek
    }
}

关于ios - 新iPhone上的窥视和流行力是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35097830/

10-11 14:49