如何隐藏列表中的空行

时间:2019-06-13 12:24:35

标签: swift swiftui

我已经创建了简单的列表,但是我想隐藏空行。有什么帮助吗?我知道如何为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)
        }
    }
}

结果

Result

2 个答案:

答案 0 :(得分:1)

不是完全解决此问题的方法,但 摆脱列表中的行的一种方法是使用修饰符

List{
// Different Views 
}.listStyle(.grouped)

答案 1 :(得分:0)

目前最好的解决方案是创建ScrollView并创建其中包含ForEach的行。