With the new SwiftUI update in iOS 16 List no longer depends on UITableView. So the following snippet we used to set the List background color to .clear is now useless:
UITableView.appearance().backgroundColor = .clear
I saw that someone used introspect to solve the problem, but does anyone know of another maybe cleaner way to achieve the same behavior?
Also note that on macOS, the following works fine (Tested using Xcode 14 beta & macOS Ventura):
extension NSTableView {
open override func viewDidMoveToWindow() {
super.viewDidMoveToWindow()
backgroundColor = NSColor.clear
enclosingScrollView!.drawsBackground = false
}
}
CodePudding user response:
iOS 16
Now they use UICollectionView for backend, so an updated workaround is to change corresponding background colors:
Main part:
extension UICollectionReusableView {
override open var backgroundColor: UIColor? {
get { .clear }
set { }
}
}
struct ContentView: View {
init() {
UICollectionView.appearance().backgroundColor = .clear
}
//...

