如何解决来自 PanGestureRecognizer 时无法在滚动视图中滚动
我想我需要一些帮助... 面临滚动视图和平移手势识别器的问题。 我实现了一个底部菜单。内容是一个 UIScrollview。 我在底部菜单中添加了一个 UIPanGestureRecognizer 来检测滚动,所以我可以调整顶部约束(scrollingEnabled = false on defaultHeight,true on maxHeight)
我为gestureRecognizerDelegate添加了以下代码
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
if let scrollview = scrollView {
if viewPosition == .standard {
return true
} else if viewPosition == .extended {
if scrollview.contentOffset.y < 10 {
return true
}
}
}
return false
}
其中 .standard 是第一张图片,.extended 是 maxHeight。
但是在转换到 maxHeight 后的第一秒,scrollView 没有收到我的滚动。
在委托方法中返回 false 解决了这个问题,但是我无法回到默认高度,因为我的平移不应该识别 scrollDown 手势。
任何想法如何在不丢失平移手势的情况下修复 scrollView 的延迟?
(提示:Instagram 将图像从 Feed 发送给朋友应该是它的外观和感觉)
发生了什么:
- 我从下往上滚动 -> 平移将我的视图缩放到全屏
- 我再次从下到上滚动(在 1 秒内) -> 什么也没发生
- 我可以重复第二步 1000 次而无需滚动视图滚动,直到我停止滚动大约一秒钟
- 等待 abaout 1s 后,我从下到上滚动 -> 我的滚动视图滚动
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。