WKWebViewのスクロール速度を変更する方法を調べてみました。 まずはViewControllerにwebViewを貼り付けます。
import UIKit import WebKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let webView = WKWebView(frame: view.bounds) webView.load(URLRequest(url: URL(string: "https://google.com")!)) view.addSubview(webView) } }
起動するとSafariなどと同様のスクロール速度です。
webViewのscrollViewのdecelerationRateにUIScrollViewDecelerationRateNormalをセットします。
import UIKit import WebKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let webView = WKWebView(frame: view.bounds) webView.load(URLRequest(url: URL(string: "https://google.com")!)) webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal // 追加 view.addSubview(webView) } }
これで起動すると、スクロールがかなり早くなります。
スクロール速度はUIScrollViewDecelerationRateFastとUIScrollViewDecelerationRateNormalが用意されています。
decelerationRateはCGFloatなので直接値を指定する事もできます。
ちなみに0.1だと指を話した瞬間に止まるような動きになります。
webView.scrollView.decelerationRate = 0.1
それぞれの値は下のようになっていました。
print(webView.scrollView.decelerationRate) // 0.9893243312 print(UIScrollViewDecelerationRateNormal) // 0.998 print(UIScrollViewDecelerationRateFast) // 0.99