개발

Swift WKWebView에서 줌 설정 및 해제 하는 방법

소소ing 2021. 1. 13. 16:12
반응형

해당 글에서 코드 부분은 파란색으로 표기 됩니다.

해당 글에서 중요 부분은 붉은색으로 표기 됩니다.

 

 

WKWebView로 웹 사이트를 호출할때 줌이 되지 않을 수 있다.

어떻게 줌 설정을 할 수 있을까?

 

1. 줌 설정 시

let source: String = "var meta = document.createElement('meta');" +

"meta.name = 'viewport';" +

"meta.content = 'width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=yes';" +

"var head = document.getElementsByTagName('head')[0];" +

"head.appendChild(meta);"

 

let script: WKUserScript = WKUserScript(source: source, injectionTime: .atDocumentEnd, forMainFrameOnly: true)

let userContentController: WKUserContentController = WKUserContentController()

let conf = WKWebViewConfiguration()

conf.userContentController = userContentController

userContentController.addUserScript(script)

let webView = WKWebView(frame: CGRect.zero, configuration: conf)

 

 

2. 줌기능 해제 시 

let source: String = "var meta = document.createElement('meta');" +

"meta.name = 'viewport';" +

"meta.content = 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no';" +

"var head = document.getElementsByTagName('head')[0];" +

"head.appendChild(meta);"

 

let script: WKUserScript = WKUserScript(source: source, injectionTime: .atDocumentEnd, forMainFrameOnly: true)

let userContentController: WKUserContentController = WKUserContentController()

let conf = WKWebViewConfiguration()

conf.userContentController = userContentController

userContentController.addUserScript(script)

let webView = WKWebView(frame: CGRect.zero, configuration: conf)

반응형