使Dynamic ImageViews可单击

时间:2012-10-05 07:51:39

标签: iphone ios uiimageview uiimage ibaction

我正在开发一个应用程序,它动态地从images文件夹中提取图像并将它们显示在ScrollView中,非常类似于Apple的this tutorial code(查看viewDidLoad方法):

每个图像都放入ImageView。现在我想让每张图片都可以点击,但由于它是动态的,我无法创建固定数量的IBActions +它会非常重复并且复制/粘贴,我想避免。

基本上这段代码:

-(IBAction)Fork {
[buttonImageView setImage:[UIImage imageNamed:@"Fork.png"]];
}

但是对于每个创建的图像。我特别困惑,因为我无法通过故事板将IBActions“连接”到按钮上。

我很感谢代码提示的任何帮助,因为我是初学者。

1 个答案:

答案 0 :(得分:1)

您可能希望通过单个操作处理点击,并将图片视图作为发件人传递,您可以相应地区分您的操作。

您可以使用UITapGestureRecognizer快速入门:

UIImageView *imageView = ... // However you're creating it
UITapGestureRecognizer *tapper = [[[UITapGestureRecognizer alloc] init] autorelease];
[imageView addGestureRecognizer:tapper];
[tapper addTarget:self action:@selector(handleTap:)];

实现点按的处理程序,如:

- (void)handleTap:(UITapGestureRecognizer *)recognizer
{
    UIImageView *imageView = recognizer.view;
    imageView.image = [UIImage imageNamed:@"Fork.png"];
}

如果您需要执行类似操作,请在点击时调整图像,您可能需要尝试使用自定义类型的UIButton并相应地设置图像。无论如何,希望这有帮助!