代码之家  ›  专栏  ›  技术社区  ›  Jordan

iPhone:触摸UIViewController

  •  1
  • Jordan  · 技术社区  · 14 年前

    我有一个UIViewController,在上面我放了一个UIImageView,然后是一个UIScrollView。

    我可以在UIScrollView上处理触摸,但是我想在UIViewController上处理某些触摸。

    我只需要在UIScrollView上保持5秒钟(这部分工作正常)。我想传递给UIViewController的任何小于此值的内容。

    在UISCrollView上,我称之为:

    - (void) touchesBegan: (NSSet *) touches withEvent: (UIEvent *) event
    {
    // some custom code to process a specific touch.
    
    // all other touches
        [super touchesBegan: touches withEvent: event];
    }
    

    是否有方法将触摸从UIScrollView传递到底部UIViewController,或者我必须将对UIViewController的引用传递到UIScrollView?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Jordan    14 年前

    解决了的!

    需要添加:

    [self.nextResponder touchesEnded: touches withEvent:event]; 
    

    到最上面的控制器。

    谢谢我自己!

        2
  •  0
  •   dimaxyu    12 年前

    苹果文档中的touchesbeated描述告诉我们:

    要将消息转发给下一个响应者,将消息发送给super(超类实现);不要将消息直接发送给下一个响应者。例如,

    [super touchesBegan:touches withEvent:event];
    

    如果在不调用super(一种常用模式)的情况下重写此方法,则还必须重写处理触摸事件的其他方法(如果仅作为存根(空)实现)。