如何检测手势与捏出手势的捏?

而不是缩放,我认为通常使用捏手​​势,我只是想检测是否捏是捏捏,因此我可以折叠或扩展一些表格部分。 我该怎么做呢?

嗯,这似乎很容易。 UIPinchGestureRecognizer只有两个属性 ,即scalevelocity 。 似乎合乎逻辑的是,负scale表示向内捏,正向表示向外捏。

注意:“消极”可能会产生误导。 “较小”为0.0 < scale < 1.0 ,“较大”为scale > 1.0

对于捏合手势,“scale”属性小于1,对于捏合,大于1。 这种情况适用于所有2个手指的夹点。

我还观察到,如果我用5个手指(这是最小化到家的快捷方式)进行了捏合,那么每次刻度值恰好为1.0。 但是我所知道的任何Apple文档都不支持这一点。

只需在您的夹点处理选择器中放置一个NSLog,即可体验值的变化

 NSLog(@"Scale: %.2f | Velocity: %.2f",pinch.scale,pinch.velocity); 

你是正确的看看scale属性,但它切换到1,而不是零。

     - (BOOL)pinchWasOutwards :( UIGestureRecognizer *)gestureRecognizer
     {
         return gestureRecognizer.scale> 1;
     }