2016-08-08 4 views
0

ネイティブiOSコードの操作に慣れていません。だからここで明白な何かを見逃して私を許してください。iOS:ネイティブポップアップを取得するときにタッチしないでください

私が今やっている問題は、ユーザーがタッチを押さえてから解放する前に、ネイティブのポップアップが表示される(バッテリーが少なくなった、タイマーなど)、これはタッチした。 代わりに、ユーザーが画面に触れなくなったらtouchesEndedを起動します。

しかし、このtouchedEndedは、アプリケーションを使用するための積極的な決定ではなく、ポップアップに対するユーザーの反応でした。これが間違った、不満足な動作につながる可能性があります。

私が言うことができる限り、フォーカスが失われたときにタッチをキャンセルする必要がありますが、フォーカスが完全に失われていないようです。

ネイティブポップアップが開かれたことを検出する他の方法があり、touchesCancelledが起動されたようなアプリケーションを動作させ、意図しない動作をしないようにするために私は疑問に思います。

アップルからいくつかのアプリをテストしましたが、私の意見では間違った動作をしています。だから、私が暮らしていなければならないことかもしれませんが、経験豊富なネイティブiOS開発者に手を差し伸べたいと思います。

おかげで、 サシャ

答えて

0

今日は戻って、この問題に戻りました。ネイティブポップアップが表示されたら、それぞれapplicationWillResignActiveとapplicationDidBecomeActiveへの呼び出しがあることがわかりました。

私の解決策では、applicationWillResignActiveが呼び出された時点で、基本的には、終了またはキャンセルせずに開始された各タッチに対してtouchesCancelledがあるかのようにアプリを動作させます。実際のtouchesEndedが呼び出されると、それはもはや私のアプリのtouchesBeganと一致しないので無視されます。

飛び跳ねるような感じですが、これは私のためにうまくやめました。

関連する問題