首页 文章

UIImageView无法识别轻击手势

提问于
浏览
0

我已经在SO上搜索了类似于此的其他问题,并且解决了我的问题 . 出于某种原因,我的UIImageView(我在故事板中添加到UIView)只是无法识别我创建的点击手势 . 启用用户交互,以及多次触摸 . 我的选择器方法永远不会被调用 .

self.image是我添加到UIView上的imageView属性 .

- (void)viewDidLoad {
    [super viewDidLoad];
    self.image.image = [UIImage imageNamed:@"mountainWallpaper.png"];
    [self gesture];
}

-(void)gesture {

    UITapGestureRecognizer *imageTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imageTapped:)];
    //imageTap.numberOfTapsRequired = 1;
    //imageTap.numberOfTouchesRequired = 1;
    imageTap.delegate = self;

    [self.image addGestureRecognizer:imageTap];

}

-(IBAction3)imageTapped:(UIGestureRecognizer *)tap {
    NSLog(@"test");
}

有什么建议?我已经查看了我发现的大多数其他问题并尝试了各种解决方案而没有这样的运气 . 许多答案说要验证用户交互是否已启用,以确保委托已设置...我已经尝试了很多已经建议的内容 .

我还尝试首先添加UIView作为点击手势目标,将imageView本身添加为目标,将手势添加到UIView和imageView ......没有 .

在storyboard中,我将我的UIImageView作为视图和图像连接到我的viewController . 我通常以编程方式做事情所以我不得不习惯在IB中连接对象,我很擅长 .

2 回答

  • 1

    检查以下几点可能对您有所帮助:

    • 确保启用了UIImageView用户交互 .

    • 图像视图优先级应该超出超级视图 .

    • 确保也启用了Image view userIntration的超级视图 .

    • 你添加了UI手势代表吗?

  • 1

    看起来你有拼写错误 . 尝试将IBAction3更改为IBAction或void:

    -(void)imageTapped:(UIGestureRecognizer *)tap {
        NSLog(@"test");
    }
    

相关问题