iphone - 单击任何UIImage并在Objective-C中打开UIImageView

标签 iphone objective-c ios uiimageview uitapgesturerecognizer

我在以下站点上获得了此解决方案:Click an UIImage and open an UIImageView in Objective-c

UITapGestureRecognizer添加到您的UIImageView中:

UITapGestureRecognizer *tapRecognizer;
tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(yourSelector)];
[thumbnail addGestureRecognizer:tapRecognizer];
[tapRecognizer release];

thumbnail.userInteractionEnabled = YES; // very important for UIImageView

这对于单个ImageView来说效果很好,但是我要在我的scrollView中添加多个(大约20个),然后如何区分用户将要点击或选择的ImageView。我试图设置自己的@selector(imageClicked),但它只返回最后一个imageView的标签。

我在循环中添加addGestureRecognizer,因为我在imageView中动态加载了20个静态图像。

最佳答案

这可能有帮助

for(int i=0;i<20;i++)
{
    UIImageView *img=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"yourimage.png"]];
    [img setTag:i];
    img.frame= //set frame accordingly;
    img.userInteractionEnabled = YES;
    UITapGestureRecognizer *tap =
    [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
    [img addGestureRecognizer:tap];
    [tap release];
    [scrollView addSubView:img];
}

- (void)handleTap:(UITapGestureRecognizer *)recognizer  {
    UIImageView *imageView = (UIImageView *)recognizer.view;

      switch([imageView tag])
    {
       case 1:
          //do your work
          break;
       .
       .
       .
       .
       case n:

    }
}

关于iphone - 单击任何UIImage并在Objective-C中打开UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9075738/

相关文章:

iphone - 阅读和EAGAIN

iphone - 如何在 NSMutableDictionary 上使用 writeToFile 方法?

javascript - iOS WebView Javascript

iphone - 在 ios 中调用方法时的超精度

iphone - 在 ios 6 中检索 Facebook 帐户信息

iOS 文件处理和位置访问

ios - 存储数百张图像

ios - View Controller Containment 共享父对象

ios - 'iCloud' 功能仅适用于注册 Apple Developer Program 的用户。请访问 https ://developer. apple.com/programs/报名

ios - UITableViewCell,在滑动时显示删除按钮