微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

来自 PanGestureRecognizer 时无法在滚动视图中滚动

如何解决来自 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 举报,一经查实,本站将立刻删除。