1

我想使用来自 nos 的图像视图。单击任何特定图像视图时,滚动视图中的图像视图数量。

4

4 回答 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 回答