gpt4 book ai didi

ios - 在 SwiftUI 中删除列表下方的额外行分隔符

转载 作者:技术小花猫 更新时间:2023-10-29 10:20:18 41 4
gpt4 key购买 nike

我创建了一个简单的 List,如下所示,但它下面有额外的分隔符。

List {
Text("Item 1")
Text("Item 2")
Text("Item 3")
}

结果:

enter image description here

我试过将列表嵌入 VStack 并添加 Spacer() 如下代码,但它无法正常工作。它删除了大约一半的空单元格。

VStack{
List {
Text("Item 1")
Text("Item 2")
Text("Item 3")
}
Spacer()
}

如何在 SwiftUI 中删除这些额外的分隔符?

最佳答案

iOS 14:

iOS 14 默认不在列表下方显示额外的分隔符,要删除所有分隔符,您需要在里面使用LazyVStack ScrollView 代替。 (因为 iOS 不再支持 SwiftUI 列表的外观)。

LazyVStack Preview


iOS 13:

⚠️ This method is deprecated and it's not working from iOS 14

无需Section.grouped 样式!

在 SwiftUI 的 List for iOS 13 后面有一个 UITableView。所以要删除

- 额外的分隔符(在列表下方):

您需要一个 tableFooterView 并将其删除。请注意默认情况下,iOS 14 不会在列表下方显示额外的分隔符。

- 所有分隔符(包括实际分隔符):

你需要 separatorStyle.none

init() {
if #available(iOS 14.0, *) {
// iOS 14 doesn't have extra separators below the list by default.
} else {
// To remove only extra separators below the list:
UITableView.appearance().tableFooterView = UIView()
}

// To remove all separators including the actual ones:
UITableView.appearance().separatorStyle = .none
}

var body: some View {
List {
Text("Item 1")
Text("Item 2")
Text("Item 3")
}
}

请注意它消除了所有表格/列表的分隔符。因此,您可以根据需要在 onAppear() 等方法中切换它。

关于ios - 在 SwiftUI 中删除列表下方的额外行分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56498045/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com