Presentation is loading. Please wait.

Presentation is loading. Please wait.

第8回 iPhoneアプリ開発勉強会 マルチタッチ 鷲見政明.

Similar presentations


Presentation on theme: "第8回 iPhoneアプリ開発勉強会 マルチタッチ 鷲見政明."— Presentation transcript:

1 第8回 iPhoneアプリ開発勉強会 マルチタッチ 鷲見政明

2 タッチイベント取得のための前準備 UIViewクラスを使用 NSObject UIResponder UIView メンバ変数
NSMutableArray *touchPoints // タッチしたポイントを保持する領域へのポインタ イニシャライザ self.multipleTouchEnabled = YES; // マルチタッチを許可 touchPoints = [[NSMutableArray alloc] init]; // タッチしたポイントを保持する領域を確保 class図

3 タッチイベント取得メソッド UIResponderクラスの以下のメソッドをオーバーライド
- (void)touchesBegan(NSSet *)touches withEvent(UIEvent *)event; - (void)touchesMoved(NSSet *)touches withEvent(UIEvent *)event; - (void)touchesEnded(NSSet *)touches withEvent(UIEvent *)event; - (void)touchesCancelled(NSSet *)touches withEvent(UIEvent *)event; - (void)touchesEnded… 指が離れたとき - (void)touchesMoved… 指が動いたとき - (void)touchesCancelled… タッチ操作中に着信時などに発生 - (void)touchesBegan… 指が触れたとき

4 タッチイベントの取得 タッチ取得イベントの実装 ポイント情報の取得
- (void)touchesBegan(NSSet *)touches withEvent(UIEvent *)event {     // タッチしたポイントを領域に格納     [touchPoints addObjectsFromArray: [touches allObjects]]; } - (void)touchesEnded(NSSet *)touches withEvent(UIEvent *)event     // ポイントを領域から削除     [touchPoints removeObjectsFromArray: [touches allObjects]]; ポイント情報の取得 1つのUITouchオブジェクトが1本の指に対応 for (int i = 0; i < [touchPoints count]; i++) {     UITouch *aTouch = [touchPoints objectAtIndex: i];     … }

5 タッチイベントの取得 タッチ取得イベントの実装
- (void)touchesMoved (NSSet *)touches withEvent(UIEvent *)event {     // 列挙体に変換     NSEnumerator *touchEnm = [touches objectEnumerator];     UITouch *aTouch;     // 指の数分情報を取得     while ( aTouch = [touchEnm nextObject] ) {         int index = [touchPoints indexOfObject: aTouch];         …     } }

6 iPhone simulatorでのデバッグ
マルチタッチのシミュレーションを行うことが可能 ※ option + マウス操作 ※ 3つ以上のタッチを試す場合には実機が必要

7 おわりに 本日の内容 マルチタッチ Next Work GPS


Download ppt "第8回 iPhoneアプリ開発勉強会 マルチタッチ 鷲見政明."

Similar presentations


Ads by Google