今日はモーションセンサーを視覚化しました。

 

.gravity 重力の方向
.attitude 端末の角度
.userAcceleration 移動する勢い
.rotationRate 回転する速さ

角度勢い(加速度)と速さ(角速度)がこんがらがりそうでしたが、

グラフで表示しながら実機を動かすとよくわかりました。

 

 

このうち端末の姿勢を示す .attitude(.pitchと.rollと.yaw)は、

(この動画のように)画面を起てた状態からはうまく検出できないようですキョロキョロ

具体的には、

 

.pitchは、Landscapeの姿勢での検出が苦手

.rollは、Portraitの姿勢での検出が苦手

.yawは、寝かせた姿勢でないと検出が苦手

 

でした。

つまり例えば、Landscapeで車のステアリングのように操作したい場合は、

.attitude.yawでは正しい角度はわかりません車車車

.gravity(のxとy)から算出すればよさそうです。

 

 

今回はその他に、ピッカービュー、アウトレットコレクションを使いました。

 

ピッカービューは結構スペースを食うインターフェースだなと思いました汗

そこで、使うときだけ画面に出てくるようにしましたが、

非表示ではタップイベントが発生しないので、下のビューから受け取っています。

 

アウトレットコレクションは初めは「これ便利!」と思ったのですが、

配列に入る順番は決まっていないので、注意しなければなりません。

InterfaceBuilderのための仕組みなので、コードで生成・保持するなら不要です。