iOS Swift WebView ピンチイン で縮小させない。

WebView をアプリで利用していてピンチアウトで拡大するのはいいが、ピンチインで縮小させたくないときの設定をメモ

ピンチインで縮小

このピンチインで縮小というか WebView 自体が小さくなる現象はやめたい。

調査

  • Web側 の viewport の設定を変更しても解消されない。そもそもピンチインのとき scale は縮小はしてなかった。
  • 拡大・縮小を無効にする方法はたくさんあるが、縮小のみする設定は存在しない。
  • UIScrollView で zoom で検索していろいろ関数などを見ていたら、bouncesZoom というのを発見、たしかに動きとしてはバウンスに近い。
  • bouncesZoom の値を false に設定すると解消された。

解決方法

var webView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()
    // WKWebViewを生成
    webView = WKWebView(frame: view.frame)
    // WKWebViewをViewControllerのviewに追加する
    view.addSubview(webView)
    // リクエストを生成
    let request = URLRequest(url: URL(string: "https://www.google.co.jp/")!)
    // リクエストをロードする
    webView.load(request)
    // ピンチインで WKWebView 自体が縮小しないよう設定
    webView.scrollView.bouncesZoom = false
}
  • この設定を追加すると ピンチインで縮小されない。というか WKWebView 自体が縮小しない
webView.scrollView.bouncesZoom = false