【问题标题】:How to catch losing focused event in iOS application?如何在 iOS 应用程序中捕捉丢失的焦点事件?
【发布时间】:2012-06-13 08:49:01
【问题描述】:
我的应用程序接收并处理通过 UIWindow 对象接收的所有触摸事件。因此,对于每个触摸事件,我都会创建一个记录,并且随时可以检查屏幕上有多少手指......在我尝试使用系统手势(在任务之间切换,调用任务管理器)之前,一切都很好......在这个如果我收到了所有四个 touchesBegan 事件,但没有收到 tochesEnded。换句话说,如果它们变成系统手势,我的应用程序不会收到任何触摸事件。
问题是:如何捕获所有触摸事件?
谢谢!
【问题讨论】:
标签:
ios
uiview
multi-touch
multitasking-gestures
【解决方案1】:
诀窍是正确处理 touchesCancelled:withEvent: 当应用程序失去对多任务手势的关注时触发。
【解决方案2】:
我想我得到了答案:所以,我认为在应用程序退出其焦点后捕捉任何触摸事件是不可能或不正确的。所以,我只需要处理 applicationWillResignActive 和 applicationDidBecomeActive 事件来捕获和处理我的问题......换句话说,当我的应用程序失去焦点时,我必须删除我的所有触摸条目。