我有一个矩形(源自UIView
)。此矩形附加了UITapGestureRecognizer
,UIPanGestureRecognizer
,UIPinchGestureRecognizer
和UIRotationGestureRecognizer
。
这些手势识别器用于移动视图,缩放和旋转视图。 但是识别器之间存在冲突,因为在平移时旋转不起作用等等......
我尝试了以下
[self.pincher requireGestureRecognizerToFail:self.panner];
在平移时旋转工作。如何扩展这样的收缩工作呢?
修改
什么工作: 每个手势识别器都在自己动手。但是在组合中存在麻烦或者说我想要一个不同的行为;)如果我平移一个物体并用第二个手指点击它并且捏,我想要缩放对象 - 这是不工作
但是,用第二根手指开始旋转可以使用上面的代码行。
答案 0 :(得分:1)
UIGestureRecognizerDelegate
协议声明了以下方法gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
您可以覆盖此方法并返回YES
以使识别器同时工作:
self.pincher.delegate = self;
self.panner.delegate = self;
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;
}
修改强> 我写了一个简单的视图控制器,在UIView上同时实现缩放,旋转和平移,你可以查看这个gist