我为我的ScrollView's
缩放编写了一个自定义捏合手势识别器,并在我的视图控制器中的一个方法中处理捏合触摸。
但在某些情况下,我希望ScrollView
它的行为与正常行为完全相同(如果它使用 ScrollView 附带的标准捏合手势识别器)。
有没有办法在这种情况下将我的自定义手势识别器传递给ScrollView
它,它会像往常一样使用该识别器来缩放视图?
我可以将手势识别器传递给由捏合动作触发的选择器吗?
我为我的ScrollView's
缩放编写了一个自定义捏合手势识别器,并在我的视图控制器中的一个方法中处理捏合触摸。
但在某些情况下,我希望ScrollView
它的行为与正常行为完全相同(如果它使用 ScrollView 附带的标准捏合手势识别器)。
有没有办法在这种情况下将我的自定义手势识别器传递给ScrollView
它,它会像往常一样使用该识别器来缩放视图?
我可以将手势识别器传递给由捏合动作触发的选择器吗?
我没有尝试过,但这里有一个想法:
当您设置自己的手势识别器时,将 ScrollView 存储pinchGestureRecognizer
在 iVar 中。然后您应该能够动态地交换您的gestureRecognizer 和原始的。
从 iOS 5 开始,UIScrollView 公开了 pinchGestureRecognizer 属性,但这是只读的。要让它使用你自己的,你必须继承 UIScrollView 并覆盖这个属性,希望在内部 UIScrollView 也使用这个属性来获取手势识别器,以便在启用缩放时添加。
然而,弄乱滚动视图的手势识别器是非常危险的,尤其是修改它们的行为。即使只是有不同的委托也会触发异常。因此,风险自负。