6

而不是缩放,我认为捏手势通常用于,我只想检测捏是捏还是捏,这样我就可以折叠或展开一些表格部分。我该怎么做呢?

4

3 回答 3

11

“缩放”属性小于 1 表示捏合手势,大于 1 表示展开手势。这发生在所有用 2 根手指捏住的情况下。

我还观察到,如果我用 5 根手指捏住(这是最小化到主页的快捷方式),则比例值每次都恰好为 1.0。但是我知道的任何 Apple 文档都不支持这一点。

您可以通过简单地将 NSLog 放入您的捏处理选择器中来试验这些值。

NSLog(@"Scale: %.2f | Velocity: %.2f",pinch.scale,pinch.velocity);
于 2012-12-26T22:11:05.800 回答
8

嗯,这似乎很容易。该类UIPinchGestureRecognizer只有两个属性scalevelocityscale负数意味着向内挤压,正数意味着scale向外挤压,这似乎是合乎逻辑的。

注意:“否定”可能具有误导性。“小”是0.0 < scale < 1.0,“大”是scale > 1.0

于 2012-06-24T13:35:02.527 回答
3

您查看 scale 属性是正确的,但是它在 1 附近切换,而不是零。

    - (BOOL) pinchWasOutwards:(UIGestureRecognizer *)gestureRecognizer
    {
        返回gestureRecognizer.scale > 1;
    }
于 2012-12-18T20:06:10.197 回答