You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift:UIImageView绑定UITapGestureRecognizer点击无响应问题

问题排查与解决方案

核心问题

初始化UITapGestureRecognizer时,target参数设置错误:

let tap = UITapGestureRecognizer(target: HomeViewController.self, action: #selector(tapFunction(sender:)))

此处传入的HomeViewController.self是类对象,而tapFunction是实例方法,手势识别器无法通过类对象调用实例方法,导致点击回调失效。

至于宽高设为200以上能触发回调,属于巧合——此时点击区域大概率覆盖到了其他可响应点击的父视图/控件,并非UIImageView的手势起作用。

修复步骤

将target改为当前ViewController的实例self:

let tap = UITapGestureRecognizer(target: self, action: #selector(tapFunction(sender:)))

验证效果

修改后,无论UIImageView宽高设为100还是其他数值,点击UIImageView的有效区域都会正常触发tapFunction回调,控制台会打印"image tap"。


内容的提问来源于stack exchange,提问作者Praveen Ramalingam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:13:32