Swift UI写网易云歌曲table
时间: 2023-07-18 21:04:17 浏览: 158
下面是一个简单的示例代码,演示如何使用SwiftUI来创建一个网易云歌曲列表:
```swift
import SwiftUI
struct Song: Identifiable {
var id = UUID()
var name: String
var artist: String
}
struct ContentView: View {
let songs = [
Song(name: "Lose You To Love Me", artist: "Selena Gomez"),
Song(name: "Someone You Loved", artist: "Lewis Capaldi"),
Song(name: "Memories", artist: "Maroon 5")
]
var body: some View {
NavigationView {
List(songs) { song in
NavigationLink(destination: SongDetail(song: song)) {
VStack(alignment: .leading) {
Text(song.name)
.font(.headline)
Text(song.artist)
.font(.subheadline)
}
}
}
.navigationBarTitle("Songs")
}
}
}
struct SongDetail: View {
let song: Song
var body: some View {
VStack {
Text(song.name)
.font(.headline)
Text(song.artist)
.font(.subheadline)
}
.navigationBarTitle(song.name)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
```
在上面的代码中,我们首先定义了一个`Song`结构来表示一首歌曲,其中包含歌曲名称和艺术家名称。然后,在`ContentView`视图中,我们使用了一个`List`来显示歌曲列表,每个歌曲都是一个`NavigationLink`,点击后会跳转到相应的歌曲详情页面。在`SongDetail`视图中,我们简单地显示了歌曲的名称和艺术家名称。
最后,在`ContentView_Previews`中,我们提供了一个预览方法,以便在Xcode中查看我们的视图是如何呈现的。
阅读全文