How to call gesture tap on UIView programmatically in swift

后端 未结 23 1671
情歌与酒
情歌与酒 2020-11-28 18:50

I have a UIView and and I have added tap gesture to it:

let tap = UITapGestureRecognizer(target: self, action: Selector(\"handleTap:\"))
tap.delegate = self         


        
23条回答
  •  有刺的猬
    2020-11-28 19:04

    Complete answer for Swift 4

    Step 1: create an outlet for the view

    @IBOutlet weak var rightViewOutlet: UIView!
    

    Step 2: define a tap gesture

    var tapGesture = UITapGestureRecognizer()
    

    Step 3: create ObjC function (called when view tapped)

    @objc func rightViewTapped(_ recognizer: UIGestureRecognizer) {
        print("Right button is tapped")
    }
    

    Step 4: add the following within viewDidLoad()

    let rightTap = UITapGestureRecognizer(target: self, action: #selector(ViewController.rightViewTapped(_:)))
        rightViewOutlet.addGestureRecognizer(rightTap)
    

提交回复
热议问题