问题描述
我想我需要一些帮助... 面临滚动视图和平移手势识别器的问题。 我实现了一个底部菜单。内容是一个 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 (将#修改为@)