2017-05-31 93 views
0

我有一个可通过uipangeuureure拖动的uiscrollview,同时我希望它可以滚动,但是当手势被添加到视图时,它不再滚动,它只能变成可拖动的。即使我从scrollview中移除该手势,它仍然不会滚动,有什么想法?当我删除UIPanguesture时,为什么我的UIScrollView不能滚动?

我如何删除手势

backgroundframe.gestureRecognizers?.removeAll() 

我如何添加手势回

backgroundframe.addGestureRecognizer(self.guestureToAdd) 

当我添加的姿态回来,拖动工作正常不过,但是当我删除我的滚动视图停止能够滚动,我不知道为什么

回答

2

UIScrollView使用手势识别器来检测使其滚动和缩放的手势。如果您检查文档,您会发现它有panGestureRecognizerpinchGestureRecognizer属性可用于直接访问其某些识别器,但它们也必须位于其gestureRecognizers阵列中以实际工作。并且(通过至少iOS 10.3),其gestureRecognizers阵列中至少还有一个识别器,它不通过专用属性公开。

当您拨打backgroundframe.gestureRecognizers?.removeAll()时,您将删除这些识别器。您需要删除自己的识别:

backgroundframe.removeGestureRecognizer(self.guestureToAdd) 

[WWDC 2012届223“增强了用户体验与滚动视图”](https://developer.apple.com/videos/play/wwdc2012/223/)讨论UIScrollView的使用手势识别的。

+0

哇谢谢你!我不认为滚动会被视为一种姿态,认为这只是一种财产 –

相关问题