来自 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. 我从下往上滚动 -> 平移将我的视图缩放到全屏
  2. 我再次从下到上滚动(在 1 秒内) -> 什么也没发生
  3. 我可以重复第二步 1000 次而无需滚动视图滚动,直到我停止滚动大约一秒钟
  4. 等待 abaout 1s 后,我从下到上滚动 -> 我的滚动视图滚动

maxHeight

defaultHeight

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)