YagSill

Swift WKWebView 새창 열기 본문

Swift - IOS 앱 개발

Swift WKWebView 새창 열기

YagSill 2022. 3. 31. 16:36
728x90

안녕하세요 YagSill 입니다.

 

오늘은 WKWebView를 활용해서 새창을 여는 방법을 소개해 드리겠습니다.

- WKWebView 새창 열기

createWebViewWith 메소드를 활용하여 새창을 열어보겠습니다.

 

var popupView : WKWebView?

 

func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration,
for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {

	popupView = WKWebView(frame: webview.frame, configuration: configuration)
        popupView?.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        popupView?.uiDelegate = self
        
        view.addSubview(popupView!)
        
        Log.print(pageIndex)
        
        Log.print("popupView 호출 완료")
        
        return popupView
        
}

 

근데 이게 새창을 열어서 새로운 WebView를 띄웠는데 뒤로가기가 안되더라구요?

 

예를들어서 네이버에 들어가서 고객센터 화면으로 넘어갔는데 뒤로가기 하면 요 뷰 자체가 닫히더라구요;;;

그래서 방법을 생각해 보았습니다.

 

 if self.popupView?.canGoBack != nil {
            self.popupView?.goBack()
            if self.popupView?.goBack() == nil {
                // 로직 처리
            }
        } else {
            // 로직 처리
        }

 

 

.goBack() 이라는 메소드 자체가 "뒤로가기" 메소드 인데 이 메소드가 != nil 일 때는 goBack() 메소드를 사용해라 라는 것이구요

.goBack() 이라는 메소드가 == nil 일 때는 뭐 해당 팝업을 닫아라? 라는 방법으로 쓰일 수 있겠습니다.

728x90