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

问题描述 投票:0回答:4

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

iphone objective-c uiscrollview imageview tap
4个回答
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...
    }
}

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


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]);
   }    

点击特定按钮时将调用此函数。


1
投票

您可以使用以图像视图作为内容的 UIButton,而不是使用图像视图。

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


0
投票

你可以按照Nick的建议去做。 或者,您可以创建 imageview 的子类。设置框架和标签。 在这个自定义类的touchesEnded方法中,你可以根据它的标签找到它是哪个imageview。

© www.soinside.com 2019 - 2024. All rights reserved.