As you know there are so many changes on iOS 14, especially for lists.
I found this modifier for hiding separators in lists but .listStyle(SidebarListStyle()) modifier is not working as I expected.
List{
MessageDetail(messages: self.$viewModel.messages)
}.noSeparators()
.modifier(DismissingKeyboard())
.scaleEffect(x: 1, y: -1, anchor: .center)
.offset(y:-5)
Extension:
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
}
}
and ugly result :