Iphone 如何用两个手指而不是一个手指实现传统的imageView-inside-a-scrollView平移手势?

Iphone 如何用两个手指而不是一个手指实现传统的imageView-inside-a-scrollView平移手势?,iphone,overriding,multi-touch,uigesturerecognizer,pan,Iphone,Overriding,Multi Touch,Uigesturerecognizer,Pan,我有一个嵌套在scrollView中的imageView,它允许我查看图像,如果放大到足够大,则可以通过捏缩来缩放和平移。使用自定义手势识别器,我(根据我构建此应用程序的对象的请求)覆盖了单指平移的默认行为,以便它执行平移以外的操作。这很好用 现在的问题是,我仍然需要像用一个手指平移一样,在图像周围平移,我现在只需要用两个手指。是否有一种解决方案可用于利用嵌套imageView的现有功能?或者,我是否需要在识别出两个手指的手势后,编写自己的自定义平移逻辑 非常感谢您的任何想法 如果您只需调整已连

我有一个嵌套在scrollView中的imageView,它允许我查看图像,如果放大到足够大,则可以通过捏缩来缩放和平移。使用自定义手势识别器,我(根据我构建此应用程序的对象的请求)覆盖了单指平移的默认行为,以便它执行平移以外的操作。这很好用

现在的问题是,我仍然需要像用一个手指平移一样,在图像周围平移,我现在只需要用两个手指。是否有一种解决方案可用于利用嵌套imageView的现有功能?或者,我是否需要在识别出两个手指的手势后,编写自己的自定义平移逻辑

非常感谢您的任何想法


如果您只需调整已连接到scrollView的“默认”UIPangentureRecognitor的参数,请使用较新版本的iOS,谢谢

    for (UIGestureRecognizer *gestureObj in scrollView.gestureRecognizers) {
    if ([gestureObj isKindOfClass:[UIPanGestureRecognizer class]])
    {
        UIPanGestureRecognizer *panObj = (UIPanGestureRecognizer *) gestureObj;
        panObj.minimumNumberOfTouches = 2;
        panObj.maximumNumberOfTouches = 2;
    }
}

这应该会将行为“转移”到2个手指级别

您看过UIPangestureRecognitor类参考了吗?其中有一个属性MinimumNumberOfTouchs可以设置为启用双手指平移手势识别器感谢您的评论。我担心的不是捕获事件,而是处理事件的结果。带有嵌套imageView的默认单指平移的好处在于,它为您完成了所有操作。我只是希望我不必重新发明轮子就是一切……你可以添加一个UIPangestureRecognitizer,然后像这样实现它-如果(signature.state==UIgestureRecognitizerStateChanged | | signature.state==UIgestureRecognitizerStateEnded){CGPoint translation;translation=[signatureTranslationView:self];self.view.bounds.center=CGPointMake(self.view.bounds.center.x+translation.x,self.view.bounds.center.y+translation.y);[手势设置translation:CGPointZero-inView:self.view];}完美!为什么不把它作为一个答案呢?只是不能百分之百地确定这个编码是否准确……虽然很接近。在我使用的应用程序中,我在自定义视图中实现了这一点。非常完美。节省了很多时间。