如何在点击它时从不同的图像视图中获取图像标记

时间:2011-02-22 10:53:24

标签: iphone objective-c uiscrollview imageview tap

我想使用nos的图像视图。单击任意特定图像视图时滚动视图中的图像视图。

4 个答案:

答案 0 :(得分:1)

您可以使用带有图像视图的UIButtons作为其内容,而不是使用图像视图。

这样,当通过对按钮的引用点击给定图像时,您将获得回调。从那里你应该能够获得已被挖掘的标签!

我希望这有帮助,

答案 1 :(得分:1)

创建一个按钮并将图像设置为背景。创建按钮时可以设置像

这样的标记
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]);
   }    

点击特定按钮时,此功能将被调用。

答案 2 :(得分: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...
    }
}

希望这有帮助......干杯......

答案 3 :(得分:0)

你可以根据尼克的建议去做。 否则,您可以创建imageview的子类。设置框架和标签。 在此自定义类的touchesEnded方法中,您可以根据其标记找到哪个imageview。