2

アプリ内の一部のデータを消去するために、シェイク イベント ハンドラーの実験を開始しました。私のシェイク ハンドラーは、サブクラス化された UIApplication 内でシェイク イベントをインターセプトすることから始めます。

アプリを実行したまま携帯電話をポケットに入れると、携帯電話が揺れて消去操作が開始されることがわかりました。ユーザーの確認を待つためにモーダル アラートを使用していますが、ポケットから取り出したときに常にこのアラートが表示されるのは望ましくないようです。

ポケットで発生したときにこれを自動的に無効にする方法について誰かがアイデアを提供できますか?

私が持っている1つのアイデアは、タイムアウトを使用することです。アラートが一定時間無視されると、揺れは無視されます。他の解決策があるかどうか疑問に思っています。

4

2 に答える 2

0

環境光/近接センサーを使用できます。それをポーリングして、光を検出するかどうか、消去を開始する場合、そうでない場合は確認します。それは「ポケットの中」の問題を処理するでしょう。

于 2012-05-21T15:16:36.633 に答える
0

複数のシェイク ジェスチャが発生するのを待つことができます。タイムアウト内に 2 番目 (または 3 番目または n 番目) のジェスチャが得られない場合、ジェスチャを無視しますか? ほとんどの意図的なシェイクは、複数のジェスチャーを引き起こします。

于 2012-05-21T15:36:20.827 に答える