我可以将捏合手势识别器传递给ScrollView以使其缩放吗?

时间:2012-06-28 16:53:43

标签: ios uiscrollview uigesturerecognizer uipinchgesturerecognizer

我为ScrollView's缩放编写了一个自定义捏手势识别器,我在视图控制器中处理方法中的捏合触摸。

但在某些情况下,我希望ScrollView的行为与通常的行为完全相同(如果它使用ScrollView附带的标准捏手势识别器)。

在某些情况下我是否可以将自定义手势识别器传递给ScrollView,并且它会使用该识别器来按比例缩放视图?

我可以将手势识别器传递给由捏合动作触发的选择器吗?

2 个答案:

答案 0 :(得分:1)

我没试过这个,但这是一个想法:

设置自己的gestureRecognizer时,将ScrollView的pinchGestureRecognizer存储在iVar中。然后,您应该能够动态地交换您的gestureRecognizer和原始的。

答案 1 :(得分:0)

从iOS 5开始,UIScrollView公开了pinchGestureRecognizer属性,但这是只读的。为了让它使用你自己的代替,你必须继承UIScrollView并覆盖这个属性,希望内部UIScrollView也使用这个属性来获得在启用缩放时添加的手势识别器。

然而,使用滚动视图的手势识别器会非常危险,特别是要修改它们的行为。即使只是拥有不同的委托也会触发异常。因此,请自担风险。