touchesBegan和touchesEnded在UIWindow上

时间:2010-12-28 18:10:26

标签: cocoa-touch uiimageview uiwindow

我的iPhone游戏的appDelegate有一个“UIWindow窗口”成员变量。我将UIImageViews添加到窗口并在游戏过程中移动它们。我想对UIWindow进行处理。 我该怎么做?我是否必须继承UIWindow?

我尝试将 touchesBegan:withEvent touchesEnded:withEvent 方法添加到窗口但是没有调用它们(可能是由于UIImageViews覆盖了窗口...例如,游戏背景是UIImageView,它覆盖整个屏幕。)

干杯!

1 个答案:

答案 0 :(得分:2)

是的,如果UIImageViews覆盖了窗口并且他们接受了触摸,那么触摸将无法通过。您可以在UIImageView的touchesBegan中放置这样的代码,将触摸传递给对象层中的下一个对象。

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

之前走过这条路(在我的游戏中有窗口或主要的UIView控制一堆东西)我鼓励你考虑让每个UIImageView捕获触摸事件并处理它们。然后,UIImageView可以根据需要将信息传递给其他对象。

Apple UIWindowView Programming Guide的文档似乎暗示您应该尝试将代码保留在窗口之外并将其放入视图中。