nosの画像ビューを使いたいです。特定の画像ビューを 1 回タップすると、スクロール ビューで画像ビューが表示されます。
4 に答える
ボタンを作成し、画像を背景として設定します。ボタンを作成している間、次のようなタグを設定できます
button.tag=yourtag;//your tag integer value
[button addTarget:self action:@selector(buttonTouched:) forControlEvents:UIControlEventTouchDown];
[button setBackgroundImage:[UIImage imageNamed:@"img.png"] forState:UIControlStateNormal];
この関数をclssに実装します
- (void)buttonTouched:(UIButton *)sender
{
NSLog(@"touched %i",[sender tag]);
}
特定のボタンをタップしている間、この関数が呼び出されます。
ボタンの代わりに画像を使用することに固執する場合は、Gesture Recognizer を使用できます。imageView を作成し、その userInteraction を有効にします
UIImageView *testImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"someImage"]];
testImageView.frame = CGRectMake(30.0,30.0,60.0,40.0);
testImageView.tag = 30;
testImageView.userInteractionEnabled = TRUE;
[tempPlotView addSubview: testImageView];
[testImageView release];
次に、ジェスチャ Recognizer オブジェクトを割り当てて、imageView に追加します...
UITapGestureRecognizer *testGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singletap:)];
[testGesture setNumberOfTapsRequired:1];
[testImageView addGestureRecognizer: testGesture];
[testGesture release];
セレクター「singleTap」で、アクションが何であれ実行できます..
-(void)singleTap:(UIImageView*)sender{
if(sender.tag == 30){
//do your stuff here...
}
}
これが助けになることを願っています...乾杯....
画像ビューを使用する代わりに、コンテンツとして画像ビューを含む UIButton を使用できます。
そうすれば、ボタンへの参照を使用して特定の画像がタップされたときに、コールバックを取得できます。そこから、タップされたもののタグを取得できるはずです!
これが役に立てば幸いです。
ニックが提案したことに従って行うことができます。または、imageview のサブクラスを作成することもできます。フレームとタグを設定します。このカスタム クラスの touchesEnded メソッドでは、そのタグに基づいてどのイメージビューであるかを見つけることができます。