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
}
//...