如何删除 SwiftUI 中最后一个列表项中的分隔线?
How to remove divider in lastmost List item in SwiftUI?
这是我尝试使用 NavigationLinks 作为某种菜单的代码:
struct ContentView: View {
init() {
UITableView.appearance().tableFooterView = UIView()
}
var body: some View {
NavigationView {
List {
NavigationLink(destination: Text("Test")) {
Text("Link A")
}
NavigationLink(destination: Text("Test")) {
Text("Link B")
}
NavigationLink(destination: Text("Test")) {
Text("Link C")
}
Text("Footer content here")
}
}
}
}
这是它的样子:
有什么方法可以删除出现在最底部项目上的 Divider
,即 "Footer content here" 下方的那一行?
这是可能的解决方案。使用 Xcode 11.4 / iOS 13.4
测试
extension View {
func listRowUpperSeparator() -> some View {
self.listRowBackground(
VStack {
Divider().padding(.leading)
Spacer()
})
}
}
struct ContentView: View {
init() {
UITableView.appearance().separatorStyle = .none
}
var body: some View {
NavigationView {
List {
NavigationLink(destination: Text("Test")) {
Text("Link A")
}.listRowUpperSeparator()
NavigationLink(destination: Text("Test")) {
Text("Link B")
}.listRowUpperSeparator()
NavigationLink(destination: Text("Test")) {
Text("Link C")
}.listRowUpperSeparator()
Text("Footer content here")
.listRowUpperSeparator()
}
}
}
}
这是我尝试使用 NavigationLinks 作为某种菜单的代码:
struct ContentView: View {
init() {
UITableView.appearance().tableFooterView = UIView()
}
var body: some View {
NavigationView {
List {
NavigationLink(destination: Text("Test")) {
Text("Link A")
}
NavigationLink(destination: Text("Test")) {
Text("Link B")
}
NavigationLink(destination: Text("Test")) {
Text("Link C")
}
Text("Footer content here")
}
}
}
}
这是它的样子:
有什么方法可以删除出现在最底部项目上的 Divider
,即 "Footer content here" 下方的那一行?
这是可能的解决方案。使用 Xcode 11.4 / iOS 13.4
测试extension View {
func listRowUpperSeparator() -> some View {
self.listRowBackground(
VStack {
Divider().padding(.leading)
Spacer()
})
}
}
struct ContentView: View {
init() {
UITableView.appearance().separatorStyle = .none
}
var body: some View {
NavigationView {
List {
NavigationLink(destination: Text("Test")) {
Text("Link A")
}.listRowUpperSeparator()
NavigationLink(destination: Text("Test")) {
Text("Link B")
}.listRowUpperSeparator()
NavigationLink(destination: Text("Test")) {
Text("Link C")
}.listRowUpperSeparator()
Text("Footer content here")
.listRowUpperSeparator()
}
}
}
}