【发布时间】:2020-05-06 22:28:19
【问题描述】:
在我的 SwiftUI 应用程序中,我在屏幕底部有标签视图。 为了保持代码干净,我希望每个选项卡都位于单独的视图/类中。在一个标签中,我有列表。由于某些原因,我无法将列表移动到单独的视图中。这是我的初始代码: 导入 SwiftUI
struct ContentView: View {
var rooms : [Rooms] = []
@State var selectedView = 1
var body: some View {
VStack {
TabView() {
List(rooms) { rooms in
Image(systemName: "heart.fill")
HStack {
VStack(alignment: .leading) {
Text(rooms.name)
.font(.headline)
Text("members")
.font(.body)
}
}
}.tabItem { Image(systemName: "waveform.path.ecg") }.tag(1)
ExtractedView().tabItem { Text("Tab Label 2") }.tag(2)
}
}
}
}
这就是我尝试制作单独视图的方式:
struct ContentView: View {
var rooms : [Rooms] = []
@State var selectedView = 1
var body: some View {
VStack {
TabView() {
ExtractedView1(rooms: rooms).tabItem { Image(systemName: "waveform.path.ecg") }.tag(1)
ExtractedView2().tabItem { Text("Tab Label 2") }.tag(2)
}
}
}
}
struct ExtractedView1: View {
let rooms : Rooms
var body: some View {
List(rooms) { rooms in
Image(systemName: "heart.fill")
HStack {
VStack(alignment: .leading) {
Text(rooms.name)
.font(.headline)
Text("members")
.font(.body)
}
}
}
}
}
知道为什么这是错误的吗?我收到以下错误:
错误 1:[Rooms] 无法转换为 Rooms
错误 2:无法推断通用参数“SelectionValue”
如果有人建议,我什至会把它移到另一个 swift 文件中。
【问题讨论】:
标签: swift swift3 swiftui swiftui-list