通过单击隐藏图像视图?

时间:2015-08-25 20:20:17

标签: ios uiimageview

点击我的应用程序中的特定按钮时,我想要显示图像,我使用UIImageView进行了此操作。然后我想通过点击它隐藏该图像,但我不明白该怎么做?

我尝试了以下代码,但它无法正常工作。

@implementation ViewController
-(IBAction)pic {
UIImage *img = [UIImage imageNamed:@"test.png"];
[ImageView setImage:img];

imageView.userInteractionEnabled = YES;
UITapGestureRecognizer *tapRecognize = [[UITapGestureRecognizer alloc]
                                        initWithTarget:self action:@selector(handleTap:)];
tapRecognizer.delegate = self;
[imageView addGestureRecognizer:tapRecognizer];
}
- (void)handleTap:(UITapGestureRecognizer *)tapGestureRecognizer {
//handle tap
}

4 个答案:

答案 0 :(得分:2)

非常简单。

使用UIImageView并检查UIImageView上的userInteractionEnabled是否为YES。然后,您可以添加手势识别器。

  1. 您的.h文件应至少包含以下内容:

    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController<UIGestureRecognizerDelegate>
    
    @property (weak, nonatomic) IBOutlet UIImageView *touchImageView;
    
    @end
    
  2. 不要忘记将故事板中的UIImageView连接到上面声明的属性。

    你的.m文件中的

    - (void)viewDidLoad {
       [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        self.touchImageView.userInteractionEnabled = YES;
        UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc]
                                            initWithTarget:self action:@selector(handleTap:)];
        tapRecognizer.delegate = self;
        [self.touchImageView addGestureRecognizer:tapRecognizer];
      }
    
    - (void)handleTap:(UITapGestureRecognizer *)tapGestureRecognizer {
    //handle tap
    self.touchImageView.alpha = 0.0f;
    }
    

答案 1 :(得分:0)

您可以将图像放在按钮上。我认为使用UIImageView是正确的决定。您需要以编程方式将手势连接到它。你可以使用类似下面的东西来做到这一点:

    let singleFingerTap = UITapGestureRecognizer(target: self, action: "viewTapped:")
    imageView.addGestureRecognizer(singleFingerTap)

答案 2 :(得分:0)

您可以向包含图像的UIImageView添加点击手势识别器。

var tapGesture = UITapGestureRecognizer(target: <#AnyObject#>, action: <#Selector#>)

在你指定为动作的方法中,只需设置myImageView.alpha = 0.这应该基本上是&#34;隐藏&#34;你的图像视图。如果你想在这个意义上隐藏它,你也可以将图像视图的高度设置为0。

答案 3 :(得分:0)

另一种方法是导入一个开源项目,例如AKImageViewer,以使帖子全屏显示(为用户提供更好的完整视图)并允许他们滑动或取消以逃避来自图像(类似于在Twitter应用程序中查看图像。