开发者

How to pass single touch events to super view in UIWebView?

开发者 https://www.devze.com 2023-01-09 08:08 出处:网络
I am using UIWebView to display pdf. I wanna handle touch events on webview. There are two conditions, my WebView should handle double touch events and gestures, and i wanna pass single tap/touch 开发

I am using UIWebView to display pdf. I wanna handle touch events on webview. There are two conditions, my WebView should handle double touch events and gestures, and i wanna pass single tap/touch 开发者_StackOverflow中文版events to super view.

Can any one please tell me how to differentiate the touch events in UIWebView and how to pass specific touch events to its super view?

to get the touch events i am subclassing the uiwebview and im overriding the hitTest method in subclass.


If that post is not answering your question, you should check out this article.

I took a similar but slightly different approach: I subclassed a UIView, which contains a UIWebView (and other controls), and override the hitTest:withEvent: method.


Subclass web view and Use hitTest(_ point: CGPoint, with event: UIEvent?) method in subclass as follows:

override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
    if let hitTestingView = super.hitTest(point, with: event) {
        if shouldHandleTouch // Logic on which this view should handle touch or not. If you don't want to handle always then return nil {
            return hitTestingView
        } else {
            return nil
        }  
    } else {
        return nil
    }
}
0

精彩评论

暂无评论...
验证码 换一张
取 消