IOS/SwiftUI
(SwiftUI)04.웹뷰 띄우기
프린이0218
2021. 4. 27. 13:26
-contentView-
//
// ContentView.swift
// swiftUI_Webview_tutorial
//
// Created by devdepot on 2021/04/27.
//
import SwiftUI
struct ContentView: View {
var body: some View {
// MyWebView(urlToLoad: "https://www.naver.com")
NavigationView{
HStack{
NavigationLink(
destination: MyWebView(urlToLoad: "https://www.naver.com")){
Text("네이버")
}
NavigationLink(
destination: MyWebView(urlToLoad: "https://www.google.com")){
Text("구글")
}
NavigationLink(
destination: MyWebView(urlToLoad: "https://www.daum.net")){
Text("다음")
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
-MyWebView-
//
// MyWebView.swift
// swiftUI_Webview_tutorial
//
// Created by devdepot on 2021/04/27.
//
import SwiftUI
import WebKit
// uikit 의 uiView 를 사용할 수 있도록 한다.
// uiViewCOntrollerRepresntable
struct MyWebView: UIViewRepresentable {
var urlToLoad: String
// uiview 만들기
func makeUIView(context: Context) -> WKWebView {
guard let url = URL(string: self.urlToLoad) else {
return WKWebView()
}
//웹뷰 인스턴스 생성
let webView = WKWebView()
// 웹뷰를 로드한다.
webView.load(URLRequest(url: url))
return webView
}
// 업데이트 ui view
func updateUIView(_ uiView: WKWebView, context: UIViewRepresentableContext<MyWebView>) {
}
}
struct MyWebVie_previees: PreviewProvider{
static var previews: some View{
MyWebView(urlToLoad: "https://www.naver.com")
}
}