为什么iOS中的轻敲手势识别器的界面构建器操作不会触发? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么iOS中的轻敲手势识别器的界面构建器操作不会触发? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

在Xcode中的ios中,我将轻敲手势识别器控件放到标签上,并控制拖动轻击手势识别器以创建界面构建器操作。当我点击标签时,界面构建器操作不会触发。这是我的代码:

@IBAction func actionTapLabelInstrumentDropDown(_ sender: UITapGestureRecognizer) {

    print("actionTapLabelInstrumentDropDown")

    instrumentDropDown.show()

}

print语句永远不会打印。

答案

在问题的评论中根据@rmaddy观察写一个答案,这样社区就会更加明显。

默认情况下,标签不响应用户交互。您需要在标签上启用用户交互。


Adding my two cents:

如果你的UILabel在Storyboard / NIB中,你只需要检查右侧菜单中的User Interaction Enabled复选框。

如果您以编程方式创建UILabel,则需要调用以下函数才能启用它:

self.myLabel.userInteractionEnabled = true

以上是关于为什么iOS中的轻敲手势识别器的界面构建器操作不会触发? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

平移手势不会将触摸转发到 Mapbox MGLMapView

iOS 自定义选择器ActionSheet

iOS 上的全系统手势识别

Swift:手势识别器无法识别的选择器发送到实例

如果将点击手势识别器添加到其背景视图中,则不会调用 iOS didSelectItemAtIndexPath

UITapGestureRecognizer 点坐标