点击我的应用程序中的特定按钮时,我想要显示图像,我使用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
}
答案 0 :(得分:2)
非常简单。
使用UIImageView并检查UIImageView上的userInteractionEnabled是否为YES。然后,您可以添加手势识别器。
您的.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;
}
答案 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应用程序中查看图像。