iOS/SwiftUI

[SwiftUI] WebView

HarryJeonn 2022. 4. 24. 15:42

WebView를 사용해보자

import SwiftUI
import WebKit

// UIKit의 UIView를 사용할 수 있도록 한다.
struct MyWebView: UIViewRepresentable {
    
    var urlStr: String
    
    // UIView 만들기
    func makeUIView(context: Context) -> some WKWebView {
        guard let url = URL(string: urlStr) else { return WKWebView() }
        
        let webView = WKWebView()
        webView.load(URLRequest(url: url))
        
        return webView
    }
    
    // 업데이트 UIView
    func updateUIView(_ uiView: UIViewType, context: UIViewRepresentableContext) {
        
    }
}

struct MyWebView_Previews: PreviewProvider {
    static var previews: some View {
        MyWebView(urlStr: "<https://www.naver.com>")
    }
}

UIKit 중 WebKit을 사용하여 UIView를 만든다.

UIViewRepresentable 프로토콜을 채택해야한다.

🤔

완전히 SwiftUI만 사용하는 것이 아니라 UIKit도 섞어서 사용한다는 것을 알 수 있었다.

참고 사이트

https://www.youtube.com/watch?v=kalSK-3PPnc&list=PLgOlaPUIbynqyJHiTEv7CFaXd8g5jtogT&index=5&t=832s