与缩放不同,我认为捏合手势通常用于控制,因此我只想检测捏合手势是向内还是向外捏合,以便折叠或展开一些表格部分。我应该如何做到这一点?
与缩放不同,我认为捏合手势通常用于控制,因此我只想检测捏合手势是向内还是向外捏合,以便折叠或展开一些表格部分。我应该如何做到这一点?
"比例"属性在收缩手势中小于1,在展开手势中大于1。这适用于所有使用两个手指的捏合手势。
我还观察到,如果我用5个手指收缩(这是最小化到主屏幕的快捷方式),比例值恰好为1.0 - 每次都是这样。但这不被我所知道的任何苹果文档支持。
您可以通过在捏合处理选择器中放置NSLog来实验值是多少。
NSLog(@"Scale: %.2f | Velocity: %.2f",pinch.scale,pinch.velocity);
嗯,这似乎很简单。 UIPinchGestureRecognizer
类仅有两个属性,即 scale
和 velocity
。一个负的 scale
似乎意味着向内捏合,而正的 scale
表示向外捏合。
注意:“负”可能会误导。 “更小”是 0.0 < scale < 1.0
,“更大”是 scale > 1.0
。
您查看scale属性是正确的,但它在1处切换,而不是0。
- (BOOL) pinchWasOutwards:(UIGestureRecognizer *)gestureRecognizer { return gestureRecognizer.scale > 1; }