0

我有一种情况,我在触摸开始时将效果应用于 UIView,并在触摸结束时反转该效果。所以基本上我在跟踪touchesbegantouchesEndedtouchesCancelledUIView 的方法。但问题是当视图离开屏幕时,即当它或它的一个父视图从超级视图中移除时,它不再获得任何触摸事件。有没有办法将这个“最后”touchesended事件赋予视图?也许如果 UIView 收到关于不可见的通知,我也可以为此目的使用此事件。

好的,我将把评论中的答案移到原始问题上,以便很好地总结要点。

  • 我跟踪触摸事件的原因是我想应用一些不错的效果,例如在触摸开始时发光并在触摸结束时移除这些效果。
  • 我无法模拟touchesEnded删除这些视图的原因是我没有直接删除它们。相反,我删除了它们的祖先视图之一。我无法一直跟踪到 UIWindow 的祖先视图,我认为这在技术上是不可能的。相反,框架应该将其作为我认为的事件提供。
4

1 回答 1

0

我通过覆盖-(void)willMoveToWindow:(UIWindow *)newWindow方法并检查 if newWindowis解决了我的问题nil

于 2012-04-28T03:58:04.527 回答