触摸UIScrollview?

sen*_*thu 3 iphone ios

ScrollviewDelegate在viewcontroller中使用Protocol,但我UIView(UIImageview)在该自定义视图中使用Custom .

出于某种原因,touchMoved没有被召唤.有没有人有任何想法为什么(不)发生?

Vla*_*mir 7

如果启用了在UIScrollView中滚动,则touchMoved事件不会传播到滚动视图内容.如何解决这个问题取决于你想要达到的目标.在我的应用程序中,我只需要在内部拖动一个对象,UIScrollView然后在contentsView触摸处理程序中执行以下操作:

  1. 在touchesBegan中:事件我检查了是否点击了要拖动的对象.如果是 - 则在UIScrollView中禁用滚动
  2. 然后当滚动被禁用时,我的内容视图开始接收touchesMoved事件,我可以在那里"拖动"我的对象.
  3. touchesEnded:我重新启用滚动.

如果你想要更复杂的东西,你可以继承UIScrollView并尝试覆盖它的触摸处理程序(另请参见hitTest:withEvent:方法)