我不习惯使用原生 iOS 代码。所以请原谅我在这里遗漏了一些明显的东西。
我现在遇到的问题是,当用户按住触摸,然后在释放之前,会出现一个本机弹出窗口(电池电量不足,计时器,...),这不会触发对 touchesCancelled 的调用。相反,当用户停止触摸屏幕时,它会触发 touchesEnded。
但是,这个touchedEnded 是用户对弹出窗口的反应,而不是使用该应用程序的主动决定,这可能会导致不正确和令人沮丧的行为。
据我所知,当焦点丢失时应该触发 touchesCancelled ,但在这种情况下似乎焦点并没有完全丢失。
我想知道是否有任何其他方法可以检测到本机弹出窗口已打开,并让我的应用程序像 touchesCancelled 一样被触发,并避免无意行为。
我已经测试了 Apple 的一些应用程序,它们具有相同的(在我看来)错误的行为。所以也许这是我必须忍受的事情,但我想接触更有经验的原生 iOS 开发人员,并确保这一点。
谢谢,萨沙