Swiftui 如何在列表中隐藏分隔符?(第14条)
正如你所知,iOS 14上有很多变化,尤其是列表 我发现这个修饰符用于在列表中隐藏分隔符,但是.listStyle(SidebarListStyle())修饰符并没有像我预期的那样工作Swiftui 如何在列表中隐藏分隔符?(第14条),swiftui,ios14,Swiftui,Ios14,正如你所知,iOS 14上有很多变化,尤其是列表 我发现这个修饰符用于在列表中隐藏分隔符,但是.listStyle(SidebarListStyle())修饰符并没有像我预期的那样工作 List{ MessageDetail(messages: self.$viewModel.messages) }.noSeparators() .modifier(DismissingKeyboard()) .scaleEffect(x: 1, y: -1, anchor: .center) .off
List{
MessageDetail(messages: self.$viewModel.messages)
}.noSeparators()
.modifier(DismissingKeyboard())
.scaleEffect(x: 1, y: -1, anchor: .center)
.offset(y:-5)
分机:
extension List {
@ViewBuilder func noSeparators() -> some View {
#if swift(>=5.3) // Xcode 12
if #available(iOS 14.0, *) { // iOS 14
self
.listStyle(SidebarListStyle())
} else { // iOS 13
self
.listStyle(PlainListStyle())
.onAppear {
UITableView.appearance().tableFooterView = UIView()
UITableView.appearance().separatorStyle = .none
}
.onDisappear {
UITableView.appearance().separatorStyle = .singleLine
}
}
#else // Xcode 11.5
self
.listStyle(PlainListStyle())
.onAppear {
UITableView.appearance().tableFooterView = UIView()
UITableView.appearance().separatorStyle = .none
}
.onDisappear {
UITableView.appearance().separatorStyle = .singleLine
}
#endif
}
}
结果是:
此样式
SidebarListStyle()
绝对不是用于隐藏分隔符的。以防万一。@Asperi我研究了许多隐藏分隔符的解决方案,几乎每个人都建议使用SidebarListStyle(),但都不起作用。我仍在寻找一个有效的解决方案。这能回答你的问题吗?@Asperi是的,我尝试过,它有效,但列表底部仍然有一个分隔符。我想也许我能找到一个更好的解决方案。我在列表的底部没有更多的分隔符。Xcode 12GB/iOS14GM。