我有一个可以通过uipangeuseture拖动的uiscrollview,同时我希望它可以滚动,但是当手势添加到视图时它不再滚动,它只会变得可拖动。即使我从滚动视图中删除该手势,它仍然不会滚动,任何想法?
我如何删除手势
backgroundframe.gestureRecognizers?.removeAll()
我如何添加手势
backgroundframe.addGestureRecognizer(self.guestureToAdd)
当我添加手势时,拖动工作仍然正常,但是当我删除它时,我的滚动视图停止能够滚动,我无法弄清楚为什么
答案 0 :(得分:2)
UIScrollView
使用手势识别器来检测使其滚动和缩放的手势。如果您查看文档,则会发现它可以使用panGestureRecognizer
和pinchGestureRecognizer
属性直接访问某些识别器,但它们也必须位于gestureRecognizers
中数组实际工作。并且(至少通过iOS 10.3)它的gestureRecognizers
数组中至少有一个识别器没有通过专用属性公开。
当您致电backgroundframe.gestureRecognizers?.removeAll()
时,您将删除这些识别器。您需要删除仅您自己的识别器:
backgroundframe.removeGestureRecognizer(self.guestureToAdd)
[WWDC 2012 Session 223,“使用滚动视图增强用户体验”],(https://developer.apple.com/videos/play/wwdc2012/223/)讨论了UIScrollView
对手势识别器的使用。