개발/iOS
[iOS] swift 웹뷰 팝업창 띄우기(window.open, window.close)
술개술게
2023. 8. 29. 13:56
반응형
웹뷰(WKWebView) 앱에서 본인인증을 구현하려고 했으나 팝업창이 띄워지지가 않아 한참을 해매다가
아래 코드 적용 후 정상 적으로 팝업 화면으로 넘어가고 window.close() 반응 잘받아오네요
var webView: WKWebView! //
var newWebView: WKWebView! // 새로 생성된 웹뷰를 담을 변수
//window.open() 기능
func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
// 새로운 웹뷰 생성
let frame = UIScreen.main.bounds
newWebView = WKWebView(frame: frame, configuration: configuration)
// 오토레이아웃 처리
newWebView?.autoresizingMask = [.flexibleWidth, .flexibleHeight]
// Delegate 설정
newWebView?.navigationDelegate = self
newWebView?.uiDelegate = self
view.addSubview(newWebView!)
return newWebView! // 생성한 웹뷰 반환하여 팝업 창에 표시
}
//window.close() 기능
func webViewDidClose(_ webView: WKWebView) {
if webView == newWebView {
newWebView?.removeFromSuperview() // 팝업 웹뷰 제거
newWebView = nil // 변수 초기화
}
}
반응형