2011-08-21 78 views
0

我使用UIWindow的子类来处理应用程序的所有视图中的触摸事件。 我试图实现一个拖放机制。UIWindow在从其删除子视图后停止接收触摸

当点击并按住一个视图时,我删除该视图并开始用手指拖动。 问题是我删除视图窗口停止接收触摸事件,直到我举起我的手指,再次触摸它。

有帮助吗?

编辑: 我发现,子视图被移除之后,该窗口正在接收触摸但触摸阶段是UITouchPhaseStationary和不UITouchPhaseMoved,即使只有一个UITouch在[事件触摸];这怎么可能?

回答

0

我不太清楚,但我认为你的问题是因为你正在尝试处理UIWindow类中的事件,而不是UIViewController类。 UIWindow不是为了这样做而设计的。你为什么不试试这个:

  1. UIViewController类的一个实例添加到你的项目中。
  2. UIViewController的视图添加到您的UIWindow实例中。
  3. 将触摸处理方法添加到UIViewController
  4. 将您的第一个视图添加到UIViewController
  5. 响应触摸事件。
  6. UIViewController中删除第一个视图,并引入第二个视图或任何其他视图。 (这是一种交换UIViewController下的意见,而不是在UIWindow的情况下)
相关问题