我试图在SwiftUI中创建一个简单的列表视图,但是无论数组中有多少对象,它都显示为空白(如下图所示)。如果我删除列表,它将显示数组的元素。我知道数组不空。有什么建议吗?
这是我的密码”
var body: some View {
NavigationView {
ScrollView {
if(leaderboard.isEmpty) {
VStack {
Text("No Entries Yet :(")
.foregroundColor(.gray)
.font(.largeTitle)
}
} else {
ScrollView {
List {
ForEach(leaderboard.asArray(), id: \.self) { score in
Text("\(score)")
}
}
}
}
}
.navigationBarTitle("Leaderboard")
}
}
以下是视图当前显示的内容:
此外,如果你能帮助我使Text("No Entries Yet :( ")
在视图中垂直居中,那就加分了。
2条答案
按热度按时间uqjltbpv1#
你不需要
ScrollView
中的任何一个--如果列表为空,你只有文本视图;如果列表不为空,List
提供必要的滚动视图。要在列表为空时将文本垂直居中,只需在上方和下方添加
Spacer
视图:voj3qocg2#
如果你的列表是空的,只需添加另一行没有背景。