我想使用 nos 的图像视图。单击任何特定图像视图时,滚动视图中的图像视图数。
如果您坚持使用图像而不是按钮,您可以使用手势识别器。创建一个 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];
现在分配一个手势识别器对象并将其添加到您的 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...
}
}
希望这有帮助......干杯......
创建一个按钮并将图像设置为背景。创建按钮时您可以设置标签,如
button.tag=yourtag;//your tag integer value
[button addTarget:self action:@selector(buttonTouched:) forControlEvents:UIControlEventTouchDown];
[button setBackgroundImage:[UIImage imageNamed:@"img.png"] forState:UIControlStateNormal];
并在你的类中实现这个函数
- (void)buttonTouched:(UIButton *)sender
{
NSLog(@"touched %i",[sender tag]);
}
点击特定按钮时将调用此函数。
您可以使用以图像视图作为内容的 UIButton,而不是使用图像视图。
这样,当通过引用按钮点击给定图像时,您将收到回调。从那里你应该能够获得已被点击的标签!
你可以按照Nick的建议去做。 或者,您可以创建 imageview 的子类。设置框架和标签。 在这个自定义类的touchesEnded方法中,你可以根据它的标签找到它是哪个imageview。