0

現在、左右の矢印を使って画像を切り替えていますが、ユーザーがその方向にスワイプして画像を変更できるようにする機能を追加したいと思います。

デバイスはどのようにして左スワイプまたは右スワイプを検出し、それをIBActionとして、または実行をトリガーするボタンと同様に使用しますか?

組み込みのメソッドはありますか、それとも最初からコーディングする必要がありますか?

ありがとう

4

2 に答える 2

4

ターゲットが 3.2 以降の場合、UISwipeGestureRecognizer を使用できます。これを UIImageView サブクラスに入れます:

- (void)viewDidLoad {
    [super viewDidLoad];

   UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
    [recognizer setNumberOfTouchesRequired:1];
    [self addGestureRecognizer:recognizer];
    [recognizer release];
}

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer {
     //do something
}

3.2 以下をターゲットにしている場合は、NSClassFromString & [[UIDevice currentDevice] systemVersion] を使用して、現在のデバイスに必要なクラスがあることを確認する必要があります。

于 2010-09-20T16:07:44.513 に答える
1

クリストが言ったことに加えて、まだ4.0に更新されていないiPhoneをサポートできないため、これを「3.2以前」の方法で行うことをお勧めします。

古い方法は、UIImageView サブクラスで touchesBegan/Moved/Ended を上書きすることです。この投稿は TableView に関するものですが、まったく同じコードが UIView のすべてのサブクラスで機能するため、ImageView で使用できます。

于 2010-09-20T16:59:54.620 に答える