我一直试图只UIScrollView
在一个方向上滚动并仍然获得所有UITouch
事件。我根本不完全确定这是可能的。
我试图覆盖UIResponder
“触摸”事件,但是一旦UIScrollView
开始滚动,触摸方法就会停止调用。
然后我尝试将UIScrollView
'scrollEnabled
属性设置为 false ,直到我希望UIScrollView
开始接收拖动事件,但我似乎无法找到一种方法让UIScrollView
开始在拖动中接收触摸事件。这可能吗?
我的下一次尝试是在滚动视图中添加“填充”并通过玩弄该contentOffset
属性来创建我自己的“触摸事件”,但这开始调用scrollViewDidScroll:
过多的时间并疯狂地处理——还有一些响应有效性的问题.
我玩过hitTest:withEvent:
, pointInside:withEvent:
,touchesShouldBegin:withEvent:inContentView:
但touchesShouldCancelInContentView:
没有任何成功。
从那以后,我尝试了其他一些方法,但都没有奏效。此外,根据我的发现,设置delaysContentTouches
为 false 会破坏滚动响应。
我会喜欢一些真正的覆盖触摸方法。如果我不调用 super 的方法,则UIScrollView
不会收到触摸。
我需要一种方法来获取UITouch
es (拖动、开始、释放和取消,而不仅仅是点击),而不影响 的滚动UIScrollView
,因为UIResponder
一旦滚动开始,“触摸”事件就会消失。这可能吗?