Objective-C:シェイクジェスチャーを実装する

シェイクジェスチャーを実装するためには UIViewController クラスのサブクラスをファーストレスポンダーに設定する必要がある。

シェイクジェスチャーの実装方法

UIResponderクラスのcanBecomeFirstResponderメソッドをオーバーライド
- (BOOL)canBecomeFirstResponder { return YES; }
現在のViewをFirstResponderにする
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    [self becomeFirstResponder];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [self resignFirstResponder];
    [super viewDidDisappear:animated];]
}
イベントメソッドをオーバーライド
//モーション開始時に実行
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    NSLog(@"motionBegan:");
}

//モーション終了時に実行
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    NSLog(@"motionEnded:");
}

//モーションキャンセル時に実行
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    NSLog(@"motionCancelled:");
}

まとめ

シェイクジェスチャーで色々とやってみたいところですが、Appleではシェイクジェスチャーは基本的に何かの選択をキャンセルしたり、シェイクするという動きそのものに関連性のあるアクションを定義することを推奨しています。

関連する項目

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents