#環境
xcode9
swift4
#はじめに
二本指でズームイン/ズームアウトをさせたく無かった(webViewに対して)のですが、日本語の良い記事がなかったので書きます!
#参考サイト
WKWebViewの導入についてはこちらを
Apple開発者向けページ
拡大縮小について
[スタックオーバーフロー]
(https://stackoverflow.com/questions/25553711/disable-magnification-gesture-in-wkwebview)
#実装
import UIKit
import WebKit
class MyViewController : UIViewController, WKUIDelegate {
var webView: WKWebView!
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string: "https://www.apple.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
webView.scrollView.delegate = self
}
}
// 拡大縮小を無効にできたが、キーボード出現時に入力フォームが隠れてしまったので、下記html側で対処するべきでしょう
extension MyViewController: UIScrollViewDelegate {
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return nil
}
}
#これを導入することによりできたバグ
フォームなど入力する際にキーボードが出てくると、入力フォームが隠れてしまう事象が発生しました。解決したら、追記か別記事で書こうと思います。
webViewで表示するhtmlなどのmetaタグに
user-scalable = no
つければいけそう(未検証)
検証次第更新します
解決したので更新します!
<meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
を追加することでWKWebView内における拡大縮小を無効にすることができました。
こちらを参考にさせて頂きました。
safariでは拡大縮小を無効にすることはできなくなったようですね。
https://qiita.com/uupaa/items/8e1cfe239974ac58b51e
https://developer.apple.com/library/content/releasenotes/General/RN-iOSSDK-10.0/