我已经创建了简单的列表,但是我想隐藏空行。有什么帮助吗?我知道如何为UITableView隐藏它们,而不为新的SwiftUI List隐藏它们。我尝试了文档,但没有找到任何东西。
struct LandmarkList: View {
@EnvironmentObject var userData: UserData
var body: some View {
NavigationView {
List {
Toggle(isOn: $userData.showFavoritesOnly) {
Text("Favorites only")
}
ForEach(userData.landmarks) { landmark in
if !self.userData.showFavoritesOnly || landmark.isFavorite {
NavigationButton(destination: LandmarkDetail(landmark: landmark)) {
LandmarkRow(landmark: landmark)
}
}
}
}
.navigationBarTitle(Text("Landmarks"), displayMode: .large)
}
}
}
结果
答案 0 :(得分:1)
不是完全解决此问题的方法,但 摆脱列表中的行的一种方法是使用修饰符
List{
// Different Views
}.listStyle(.grouped)
答案 1 :(得分:0)
目前最好的解决方案是创建ScrollView
并创建其中包含ForEach
的行。