如何将手势识别器添加到 UI 标签?
how to add gesture recognizer to UI Label?
我正在尝试像上图一样向 February 标签添加点击手势,但我不知道为什么当我向 UI 标签添加手势识别器时,它不起作用,但是如果我将该点击手势分配给视图(蓝色框),它按预期工作。
我们真的可以将手势识别器添加到 UI 标签吗?或者我应该如何向 UI 标签添加手势?
class AttendanceListVC: UIViewController {
@IBOutlet weak var dummyView: UIView!
@IBOutlet weak var monthLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
prepareTapGestureToChooseMonth()
}
}
func prepareTapGestureToChooseMonth() {
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(AttendanceListVC.tapFunction(sender:)))
tapGesture.numberOfTapsRequired = 1
monthLabel.addGestureRecognizer(tapGesture)
dummyView.addGestureRecognizer(tapGesture)
}
@objc func tapFunction(sender: UITapGestureRecognizer) {
// show pop up
}
}
can we actually add gesture recognizer to UI Label
当然可以。但如果您希望手势识别器做任何事情,您还需要打开标签的isInteractionEnabled
。
monthLabel.addGestureRecognizer(tapGesture)
monthLabel.isUserInteractionEnabled = true
(但是请注意,这可能不是一个好的用户界面。用户不会期望能够点击标签,并且它不会以生动可见的方式响应被点击。也许你界面中的 "February" 应该是 按钮的标题 。)
我正在尝试像上图一样向 February 标签添加点击手势,但我不知道为什么当我向 UI 标签添加手势识别器时,它不起作用,但是如果我将该点击手势分配给视图(蓝色框),它按预期工作。
我们真的可以将手势识别器添加到 UI 标签吗?或者我应该如何向 UI 标签添加手势?
class AttendanceListVC: UIViewController {
@IBOutlet weak var dummyView: UIView!
@IBOutlet weak var monthLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
prepareTapGestureToChooseMonth()
}
}
func prepareTapGestureToChooseMonth() {
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(AttendanceListVC.tapFunction(sender:)))
tapGesture.numberOfTapsRequired = 1
monthLabel.addGestureRecognizer(tapGesture)
dummyView.addGestureRecognizer(tapGesture)
}
@objc func tapFunction(sender: UITapGestureRecognizer) {
// show pop up
}
}
can we actually add gesture recognizer to UI Label
当然可以。但如果您希望手势识别器做任何事情,您还需要打开标签的isInteractionEnabled
。
monthLabel.addGestureRecognizer(tapGesture)
monthLabel.isUserInteractionEnabled = true
(但是请注意,这可能不是一个好的用户界面。用户不会期望能够点击标签,并且它不会以生动可见的方式响应被点击。也许你界面中的 "February" 应该是 按钮的标题 。)