串接多種 API 製作Lady Gaga App(Youtube篇)

1.畫面截圖:

畫面設計

每部影片點選後,下一頁就是影片的網頁

所以我們要把videoId傳到下一頁( youtubeVideoUIView)

NavigationLink(destination: youtubeVideoUIView(videoId: result.videoId))

再藉由WKWebView顯示該影片的網頁

import SwiftUI
import WebKit
struct youtubeVideoUIView: View {
var videoId : String
var body: some View {
wkWebView(url: "https://www.youtube.com/watch?v="+videoId)
.frame(width: UIScreen.main.bounds.width)

}
}

wkWebView:

struct wkWebView : UIViewRepresentable{
var url : String
func makeUIView(context: UIViewRepresentableContext<wkWebView>) -> WKWebView{
let webview = WKWebView()
webview.load(URLRequest(url: URL(string: url)!))
return webview
}
func updateUIView(_ uiView: WKWebView, context: UIViewRepresentableContext<wkWebView>) {

}
}

詳細原理請見peter的文章

至於navigationBar上的Youtube logo,是加了這張圖片

code:

.navigationBarItems(leading:
HStack{
Image("Youtube-Logo")
.resizable()
.scaledToFit()
.frame(width:UIScreen.main.bounds.width/4)
})

5.結語:

youtube是五個api相對容易的,推薦大家都可以嘗試看看

--

--