0

私のアプリケーションでは、画像ごとに動的に imageView を作成し、それらをスクロールビューに配置しました。各画像をクリックしてナビゲーション アクションを実行するイベントを生成する方法は?

4

2 に答える 2

0

迅速かつ簡単に実装

そして使用UITapGestureRecognizerへ。UIImageViewaddGestureRecognizer

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewTapped:)];
singleTap.numberOfTapsRequired = 1;
singleTap.numberOfTouchesRequired = 1;
[theImageView addGestureRecognizer:singleTap];
[theImageView setUserInteractionEnabled:YES];

ビューがタップされると、以下がトリガーされます。

- (void)imageViewTapped:(UIGestureRecognizer *)gestureRecognizer {
    NSLog(@"%@", [gestureRecognizer view]);
}

代替ソリューション

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    if ([[touches anyObject] view] == theImageView)
    {
        // ImageView tapped.
    }
}
于 2012-09-17T21:54:00.793 に答える
0

を使用しUIGestureRecognizerます。あなたの場合、UITapGestureRecognizerそれぞれに を追加するだけUIImageViewです。タップが考慮されるように、オンにすることを忘れないでください。userInteractionEnabledUIImageView

UITapGestureRecognizer* tapGR = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewAction:)];
[imageView addGestureRecognizer:tapGR];
imageView.userInteractionEnabled = YES;

-(void)imageViewAction:(UITapGestureRecognizer*)tapGR
{
    UIImageView* imageView = tapGR.view;
    // Do something with your imageView
}

Gesture Recognizer の仕組みと使用方法、例などの詳細については、iOS のイベント処理ガイド (Apple Doc) を参照してくださいこの Apple ガイドは読む価値があり、非常に役立つ概念と説明が含まれています。

于 2012-09-17T21:55:16.607 に答える