我想使用来自 nos 的图像视图。单击任何特定图像视图时,滚动视图中的图像视图数量。
问问题
1096 次
4 回答
1
您可以使用带有图像视图的 UIButtons 作为其内容,而不是使用图像视图。
这样,当使用按钮引用点击给定图像时,您将收到回调。从那里你应该能够得到被点击的标签!
我希望这有帮助,
于 2011-02-22T11:03:26.187 回答
1
创建一个按钮并将图像设置为背景。创建按钮时,您可以设置标签
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]);
}
在点击特定按钮时,将调用此功能。
于 2011-02-22T11:06:05.050 回答
1
如果您坚持使用图像而不是按钮,则可以使用手势识别器。创建一个 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...
}
}
希望这有帮助......干杯......
于 2011-02-22T12:36:19.283 回答
0
你可以按照尼克的建议去做。否则,您可以创建 imageview 的子类。为其设置框架和标签。在这个自定义类的 touchesEnded 方法中,你可以根据它的标签找到它是哪个imageview。
于 2011-02-22T12:34:57.380 回答