Search code examples
swiftios5uiwebviewtouch-event

UIWebView and touch event


I want use a custom touch event in a view. There is a web view which is the subview of this view. I override touchBegan and other functions but it does not run.


Solution

  • If you want to call a function while tapping a view you can use UITapGestureRecognizer

    override func viewDidLoad() {
        super.viewDidLoad()
        let tapRecognizer = UITapGestureRecognizer(target: view, action: "handleSingleTap:")
        tapRecognizer.numberOfTapsRequired = 1
        self.view.addGestureRecognizer(tapRecognizer)
    }
    
    func handleSingleTap(recognizer: UITapGestureRecognizer) {
        //Do something here with the gesture
    }    
    

    For Swift 3:

    override func viewDidLoad() {
        super.viewDidLoad()
        let tapRecognizer = UITapGestureRecognizer(target: view, action: #selector(handleSingleTap))
        tapRecognizer.numberOfTapsRequired = 1
        self.view.addGestureRecognizer(tapRecognizer)
    }
    
    @objc func handleSingleTap(recognizer: UITapGestureRecognizer) {
        //Do something here with the gesture
    }