【发布时间】:2023-03-29 09:28:01
【问题描述】:
我有一个UIScrollView,上面覆盖着一个自定义的UIView,它迫切需要监听他体内发生的所有触摸事件。
起初,我得到的只是touchesBegan: 和touchesCancelled: 事件。没有touchesMoved:,没有touchesEnded:。事实上,所有的拖动手势都被上面的UIScrollView取消了。这是通过以下设置解决的:
_scrollView.canCancelContentTouches = NO;
现在,行为会根据第一次触摸 UIView 的“时间长度”而改变。如果它很短,则管理相对拖动,因为它是UIScrollView 的滚动。如果它很长,那么我会在我的 UIView 中收到 touchesMoved: 事件。
我想要的是始终在我的 UIView 中接收touchesMoved:。我怎样才能做到?
【问题讨论】:
标签: iphone objective-c cocoa-touch ipad uiscrollview