ios UIScrollView将事件传递到WillEndDragging上的子链

zqry0prt  于 2022-12-20  发布在  iOS
关注(0)|答案(1)|浏览(141)
    • 编辑:**我正在编辑我的初始问题(请参阅下面的历史记录),因为我正在获取新信息。

我发现,当滑动动作从按钮边界内开始时,我们永远不会收到TouchesEndedTouchesCancelled,只会收到TouchesMoved。但是,如果我能对WillEnddragging做出React,那就太好了。是否有可能取消WillEndDragging上的手势,并将此取消传递到子链?
历史:
我正在使用Xamarin表单,我有以下问题我有自定义控件的一部分,本机滚动视图,如ScrollView或CollectionView,保持在"点击"状态后,手指进入他们,但随后启动滚动手势。
我过去在UWP上遇到过类似的问题,并设法用UIElement.PointerCaptureLost事件解决了它。
对不起,如果我浪费你的时间在琐碎的事情,但我真的卡住了,我非常感谢你的帮助。
我尝试了不同的方法,包括将DelaysContentTouches设置为NO,在ScrollView自定义呈现器中使用CanCancelContentTouches并覆盖TouchesShouldCancelInContentView以始终返回NO。
我已读取了Allow UIScrollView and its subviews to both respond to a touchUIScrollView sending touches to subviews
也许被接受的答案here有帮助,但我不确定如何获得我的自定义视图的标记。
我所期待的是我的自定义控件接收取消的触摸事件(或类似的东西),就像在Android和Windows中发生的那样

dtcbnfnu

dtcbnfnu1#

这比看起来要简单,解决方法是在UIGestureRecognizer类中添加一个UIGestureRecognizerDelegate,并在委托中重写ShouldRecognizeSimultaneously以返回true

相关问题