iOS adding tapGesture to multiple Views

前端 未结 6 1043
无人及你
无人及你 2020-12-31 03:11

I have multiple views defined in my main view. I want to add single tap gesture to all these views. Below is the code I have written, but this registers a tap gesture to the

6条回答
  •  不知归路
    2020-12-31 03:43

    Add one tap gesture to multiple views (in this case UILabel), using computed properties. It creates new recognizer for every call.

        var recognizer: UITapGestureRecognizer {
            get {
                return UITapGestureRecognizer(target: self, action: #selector(self.labelTapped(_:)))
            }
        }
    
        label1.addGestureRecognizer(recognizer)
        label2.addGestureRecognizer(recognizer)
        label3.addGestureRecognizer(recognizer)
        label4.addGestureRecognizer(recognizer)
    

    and labelTapped function

    @objc func labelTapped(_ sender: UITapGestureRecognizer) {
        let tappedLabel:UILabel = (sender.view as! UILabel)
    }
    

提交回复
热议问题