gpt4 book ai didi

ios - 将拖动触摸传播到 UIScrollView super View

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:50 24 4
gpt4 key购买 nike

我一直在寻找这里所有其他类似的主题,使用 UIGestureRecognizers,使用 hitTest:withEvent, pointInside:withEvent: 等等,但似乎没有什么可以满足我需要实现的目标。

基本上我有一个主视图(一个普通 UIViewController 的 self.view)和一个小的矩形 UIScrollView 附加在它的底部:scrollView 充满了一些 UIImageView,用户可以像往常一样滚动它。

但是用户还应该能够将一个 UIImageView(或其副本)从 UIScrollView 拖动到主视图,而且,这是我发现非常困难的,使用相同的拖动手势,因此我需要一个方法:

1) 区分正常的水平滚动手势(应由 UIScrollView 按常规方式处理)和在 ImageView 上的拖动手势。

2) 一旦识别出拖动手势,应该将触摸传播到 super View , super View 将托管 UIImageView 的副本,并使用相同的拖动手势继续在主视图上拖动,甚至超出 UIScrollView 的边界。

请注意,我知道如果 UIScrollView 具有 userInteractionEnabled = NO,则触摸会传播到 subview ,但是 1) 我想将它传播到父 View 而不是 subview ,2) userInteractionEnabled 属性显然仅在初始手势已终止,而我需要使用单个拖动手势。

非常感谢您的帮助。

最佳答案

到目前为止,我已经完成了我的 UIScrollView 子类的 touchesShouldBegin:withEvent:inContentView: 方法的实现,但是 delayContentTouches 设置为 YES(默认)而不是 NO正如@nhahtdh 所暗示的那样。

奇怪的是,即使仅实现该方法也足以让我的 subview 拦截拖动,并且我的 ScrollView 仍在正确滚动,而将 delayContentTouches 设置为 NO 我无法滚动它,因为所有 subview 都开始四处移动.

这真的归功于@nhahtdh,伙计,如果你发布一个答案我会接受它,非常感谢你的帮助。

关于ios - 将拖动触摸传播到 UIScrollView super View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13544013/

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