为什么 iOS 中点击手势识别器的界面生成器操作没有触发?
Why is the interface builder action for tap gesture recognizer in iOS not fire?
在 Xcode 中的 iOS 中,我将点击手势识别器控件拖放到标签上,然后按住控制键拖动点击手势识别器以创建界面构建器操作。当我点击标签时,界面生成器操作不会触发。这是我的代码:
@IBAction func actionTapLabelInstrumentDropDown(_ sender: UITapGestureRecognizer) {
print("actionTapLabelInstrumentDropDown")
instrumentDropDown.show()
}
打印语句从不打印。
根据 @rmaddy 在问题下的评论中的观察写一个答案,这样它会更容易被社区看到。
Labels don't response to user interactions by default. You need to enable user interactions on the label.
加上我的两分钱:
如果您的 UILabel
在 Storyboard/NIB 中,您只需选中右侧菜单中的 User Interaction Enabled
复选框。
如果您以编程方式创建 UILabel
,则需要调用以下函数才能启用它:
self.myLabel.userInteractionEnabled = true
在 Xcode 中的 iOS 中,我将点击手势识别器控件拖放到标签上,然后按住控制键拖动点击手势识别器以创建界面构建器操作。当我点击标签时,界面生成器操作不会触发。这是我的代码:
@IBAction func actionTapLabelInstrumentDropDown(_ sender: UITapGestureRecognizer) {
print("actionTapLabelInstrumentDropDown")
instrumentDropDown.show()
}
打印语句从不打印。
根据 @rmaddy 在问题下的评论中的观察写一个答案,这样它会更容易被社区看到。
Labels don't response to user interactions by default. You need to enable user interactions on the label.
加上我的两分钱:
如果您的 UILabel
在 Storyboard/NIB 中,您只需选中右侧菜单中的 User Interaction Enabled
复选框。
如果您以编程方式创建 UILabel
,则需要调用以下函数才能启用它:
self.myLabel.userInteractionEnabled = true