通过单击隐藏图像视图?

Hide an imageview by clicking it?

当我想要在我的应用程序中点击特定按钮时显示图像,我使用 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
}

您可以将图片放在按钮上。我认为使用 UIImageView 是正确的决定。您需要以编程方式将手势连接到它。您可以使用类似于以下内容的方式执行此操作:

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

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

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

在您指定为操作的方法中,只需设置 myImageView.alpha = 0。这基本上应该 "hide" 您的图像视图。如果你想在这种意义上隐藏它,你也可以将图像视图的高度设置为 0。

很简单。

改用 UIImageView 并检查 UIImageView 上的 userInteractionEnabled 是否为 YES。然后你可以添加一个手势识别器。

  1. 你的 .h 文件应该至少有如下内容:

    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController<UIGestureRecognizerDelegate>
    
    @property (weak, nonatomic) IBOutlet UIImageView *touchImageView;
    
    @end
    

不要忘记将故事板中的 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;
}

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