gpt4 book ai didi

swift - 当我删除 UIPanguesture 时,为什么我的 UIScrollView 不滚动?

转载 作者:行者123 更新时间:2023-11-28 12:22:45 25 4
gpt4 key购买 nike

我有一个可以通过 uipangeuseture 拖动的 uiscrollview,同时我希望它是可滚动的,但是当手势被添加到 View 时它不再滚动,它只会变得可拖动。即使我从 ScrollView 中删除该手势,它仍然不会滚动,有什么想法吗?

我如何删除手势

backgroundframe.gestureRecognizers?.removeAll()

我如何添加手势返回

backgroundframe.addGestureRecognizer(self.guestureToAdd)

当我重新添加手势时,拖动仍然可以正常工作,但是当我删除它时,我的 ScrollView 停止滚动,我不明白为什么

最佳答案

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

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

backgroundframe.removeGestureRecognizer(self.guestureToAdd)

[WWDC 2012 session 223,“使用 ScrollView 增强用户体验”],( https://developer.apple.com/videos/play/wwdc2012/223/ ) 讨论了 UIScrollView 对手势识别器的使用。

关于swift - 当我删除 UIPanguesture 时,为什么我的 UIScrollView 不滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44293927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com