MENU
コンテンツ再構築中

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

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

INDEX

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

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

– (void)viewDidDisappear:(BOOL)animated
{
[self resignFirstResponder];
[super viewDidDisappear:animated];]
}
[/code]

イベントメソッドをオーバーライド
[code]
//モーション開始時に実行
– (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:”);
}
[/code]

まとめ

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

関連する項目

Please share it!
  • URLをコピーしました!
  • URLをコピーしました!
INDEX