0

私はこれをしたい: デバイスが移動した場合 (加速度計の値が変化した場合)、その動きに応じてビュー内の値を調整したいと考えています。

加速度計の値が変化するたびにメソッドを呼び出すでしょうか? 頻繁に更新される可能性があるため、それは悪い考えだと思います。

4

4 に答える 4

1

あまりにも頻繁な変更が心配な場合は、アキュムレータを使用してください。変更を検出し、システム時刻をチェックするコードを少し使用します。十分なシステム時間が経過した場合にのみ、(潜在的に蓄積された) change メソッドを起動します。

于 2009-05-05T16:46:52.560 に答える
1

私はそう思います... そうでない場合、選択肢は 1 つだけです。定期的に読書を取得します。ここでも期間が短いほど、精度が高くなります。そのため、値の変化が検出されたときにイベントをトリガーできると、より効率的になる可能性があります。

于 2009-05-05T16:47:18.987 に答える
1

加速度計からのノイズが気になる場合は、移動平均を実装して入力を平滑化できます。これにより、加速度計からの誤った開始を心配することなく、必要な頻度でサンプルを取得できます。

http://en.wikipedia.org/wiki/Moving_average

于 2009-05-05T16:51:47.883 に答える
1

accelerometer:didAccelerate:にメソッドを実装するときは、最後に更新を取得してから十分な長さであるかどうかを確認UIAccelerometerDelegateするステートメントを作成するだけです。if

を実装するクラスではUIAccelerometerDelegate、次のようなプロパティを保持しlastTimeUpdated、ビューを変更するたびに更新することができます

于 2009-05-05T22:09:12.363 に答える