9VAeきゅうべえiPad版を開発中。
iPhone実機を入手したので、この小さな画面でちゃんとアニメが作れるよう
ピンチイン、ピンチアウトなどを実装する。
参考記事
これはちゃんと動いた
これは動かなかった
[iOS] 様々なジェスチャーを処理する iOS編 : 雑食プログラミング備忘録
早速、問題発生
ピンチとタッチの区別がうまくできない
2本指を画面にタッチしたとき、どうしても、1本指でタッチしたあと、もう1本追加されるといったイベントが発生してしまう。
1本指タッチと認識されると、1本指の処理が始まってしまうので、後から画面拡大、縮小しようとしても、動作がおかしくなってしまう。
Windowsでは全く苦労しなかったので、そのあたりがうまく処理されていて、2本指ジェスチャーとして認識されると、1本指タッチイベントが来ないようになっていたのだろう。iPhoneではこれらのイベントが混ざって送られてくるようだ。
仕方がないので、以下の記事を参考に、指が1本か、2本か、その都度認識し、内部処理を変更するようにした。
[touch count]で指の数が数えられるみたいだ。
1本タッチの処理が始まった後、2本になったら、処理を中断し、画面拡大、縮小、スクロールができるようにした。
以下の画像は、iPhone実機のキャプチャ画像。取得方法のメモ
- ホームボタンとサイドスイッチを同時に押すと画面キャプチャできる。
- iPhoneとUSBケーブルで接続し、Mac側で写真.appを起動すると、iPhoneの写真を見ることができ、ドラッグで取り出すことができる。