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로 수정하여 사용할 수 있습니다.
'Dev > iOS' 카테고리의 다른 글
[SwiftUI] LifeCycle 변경하기 (SwiftUIApp -> UIKit App delegate) (0) | 2021.08.16 |
---|---|
[SwiftUI] Custom PageView 사용하기 (0) | 2021.08.16 |
[SwiftUI] UIViewRepresentable 사용하기 (0) | 2021.06.29 |
[iOS] URLSession credentials 관련 처리 (0) | 2021.03.26 |
[iOS] 인증서가 유효하지 않은 서버(https) 접속하기 (0) | 2021.03.22 |
댓글