본문 바로가기
Dev/iOS

[SwiftUI] WKWebView 사용하기

by steady.dev 2021. 8. 7.

WKWebView in SwiftUI

SwiftUI에서는 WKWebView를 지원하고 있지 않기 때문에 SwiftUI코드로 변환해야 합니다.

SwiftUI 코드로 변환할 때 UIViewRepresentable 프로토콜을 사용합니다. 

 

코드

import SwiftUI
import WebKit

struct WebView: UIViewRepresentable {
    
    let urlString: String
    
    func makeUIView(context: Context) -> WKWebView {
        guard let url = URL(string: urlString) else {
            return WKWebView()
        }
        let webView = WKWebView()
        webView.load(URLRequest(url: url))
        return webView
    }
    
    func updateUIView(_ uiView: WKWebView, context: Context) {
        
    }
}

struct ContentView: View {
    var body: some View {
        WebView(urlString: "https://www.example.com")
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

위 코드에서, WebView는 UIViewRepresentable 프로토콜을 따르며, WKWebView 인스턴스를 만들고, 해당 인스턴스에 URL 요청을 로드합니다. 그리고, ContentView에서 WebView를 사용하여 웹 페이지를 보여줍니다.

 

이 코드를 실행하면, 앱에서 https://www.example.com 페이지를 로드하는 웹 뷰가 표시됩니다. 이 코드를 원하는 URL로 수정하여 사용할 수 있습니다.

 

 

댓글