如何给WKWebView添加手势
How to add gesture to WKWebView
我需要将 UIGestureRecognizer 添加到 WKWebView。
我将点击手势设置为 WKWebView,它一直有效,直到加载 Web 视图 url。
url加载后无法识别手势
有什么方法可以将手势添加到 WKWebView 吗?
import UIKit
import WebKit
class SwipeObserveExperimentController: UIViewController {
let webView: WKWebView = {
let v = WKWebView()
v.translatesAutoresizingMaskIntoConstraints = false
v.scrollView.backgroundColor = .green
return v
}()
override func viewDidLoad() {
super.viewDidLoad()
// Layout
view.addSubview( webView )
webView.translatesAutoresizingMaskIntoConstraints = false
webView.topAnchor .constraint(equalTo: view.topAnchor ).isActive = true
webView.bottomAnchor.constraint(equalTo: view.bottomAnchor ).isActive = true
webView.rightAnchor .constraint(equalTo: view.rightAnchor ).isActive = true
webView.leftAnchor .constraint(equalTo: view.leftAnchor ).isActive = true
// Gesture
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(viewTap) )
webView.addGestureRecognizer(tapGesture)
// Load URL
let url = URL(string: "http://www.akr-ski.com/")!
let request = URLRequest(url: url)
webView.load(request)
}
func viewTap(gesture: UITapGestureRecognizer) {
print("View Tap")
}
}
试试这个
class SwipeObserveExperimentController: UIViewController,UIGestureRecognizerDelegate
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(viewTap) )
tapGesture.delegate = self
webView.addGestureRecognizer(tapGesture)
并调用下面的方法
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
并将函数调用为
func viewTap() {
print("View Tap")
}
我需要将 UIGestureRecognizer 添加到 WKWebView。
我将点击手势设置为 WKWebView,它一直有效,直到加载 Web 视图 url。 url加载后无法识别手势
有什么方法可以将手势添加到 WKWebView 吗?
import UIKit
import WebKit
class SwipeObserveExperimentController: UIViewController {
let webView: WKWebView = {
let v = WKWebView()
v.translatesAutoresizingMaskIntoConstraints = false
v.scrollView.backgroundColor = .green
return v
}()
override func viewDidLoad() {
super.viewDidLoad()
// Layout
view.addSubview( webView )
webView.translatesAutoresizingMaskIntoConstraints = false
webView.topAnchor .constraint(equalTo: view.topAnchor ).isActive = true
webView.bottomAnchor.constraint(equalTo: view.bottomAnchor ).isActive = true
webView.rightAnchor .constraint(equalTo: view.rightAnchor ).isActive = true
webView.leftAnchor .constraint(equalTo: view.leftAnchor ).isActive = true
// Gesture
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(viewTap) )
webView.addGestureRecognizer(tapGesture)
// Load URL
let url = URL(string: "http://www.akr-ski.com/")!
let request = URLRequest(url: url)
webView.load(request)
}
func viewTap(gesture: UITapGestureRecognizer) {
print("View Tap")
}
}
试试这个
class SwipeObserveExperimentController: UIViewController,UIGestureRecognizerDelegate
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(viewTap) )
tapGesture.delegate = self
webView.addGestureRecognizer(tapGesture)
并调用下面的方法
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
并将函数调用为
func viewTap() {
print("View Tap")
}