0

エラーが発生しました。「UISwipeGestureRecognizerの表示可能なインターフェイスがセレクターを宣言していません'touchesMoved:withEvent:'」

ドキュメントを見て、UIGestureRecognizerクラスでtouchesMoved:withEventを見つけました。このエラーを解決するにはどうすればよいですか?

@interface MySwipeRecognizer : UISwipeGestureRecognizer

@implementation MySwipeRecognizer

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
 [super touchesMoved:touches withEvent:event];
}
@end
4

1 に答える 1

1

質問を誤解しない限り、UISwipeGestureRecognizerがすべてのタッチ処理を行います。コードは次のようになります。

UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(onSwipe:)];

// set a direction for the swipe
[swipe setDirection:UISwipeGestureRecognizerDirectionLeft];

// self is a view to add the recognizer to:
[self addGestureRecognizer:swipe];

.
.
.

- (void) onSwipe:(id)sender
{
 // a swipe has been recognized!
}

UIGestureRecognizerはABSTRACTクラスであるため、UISwipeGestureRecognizerのような具体的な実装は、すべてのタッチイベント処理を自動的に実行します。独自のカスタムジェスチャレコグナイザーを作成しようとしている場合は、UIGestureRecognizerをサブクラス化します。

于 2012-09-24T19:28:29.843 に答える