如何将手势识别器添加到 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" 应该是 按钮的标题 。)