私のアプリケーションでは、画像ごとに動的に imageView を作成し、それらをスクロールビューに配置しました。各画像をクリックしてナビゲーション アクションを実行するイベントを生成する方法は?
2 に答える
0
迅速かつ簡単に実装
そして使用UITapGestureRecognizer
へ。UIImageView
addGestureRecognizer
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
です。タップが考慮されるように、オンにすることを忘れないでください。userInteractionEnabled
UIImageView
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 に答える