从 Interface Builder 连接时,GestureRecognizer 操作未触发

Posted

技术标签:

【中文标题】从 Interface Builder 连接时,GestureRecognizer 操作未触发【英文标题】:GestureRecognizer action not firing when connected from Interface Builder 【发布时间】:2019-02-17 04:41:02 【问题描述】:

所以我正在关注Official Apple ios tutorial 到 T。

我已将GestureRecognizer 添加到我的ImageView,并让CTRL+Click 将一个动作拖到我的ViewController。从 Interface Builder 来看,一切似乎都很顺利:

我的以下有线操作(在 ViewController.swift 中,为简单起见已缩减):

@IBAction func tapImageView(_ sender: UITapGestureRecognizer) 
    print("clicked")

但是,当我单击相应的图像时,没有任何反应。我做错了什么?

【问题讨论】:

将您的 imageview 的用户交互设置为启用 【参考方案1】:

因此,您必须在 viewDidLoad() 中再添加一行,即

ImageViewname.isUserInteractionEnabled = true

希望这对你有帮助。

【讨论】:

【参考方案2】:

您必须为故事板中的图像视图启用用户交互。

【讨论】:

以上是关于从 Interface Builder 连接时,GestureRecognizer 操作未触发的主要内容,如果未能解决你的问题,请参考以下文章

Interface Builder 和 Cocoa:在 App Controller 类后面连接

无法在 Interface Builder 中连接 IBOutlet

Interface Builder 找不到任何出口或操作

使用 Interface Builder 进行切换

iOS null Interface Builder 对象

删除 Bridging Header 后从 Interface Builder 拖动时 Xcode 崩溃