問題
UITableViewにて任意のヘッダーが表示されている場合、セルをヘッダーの下に隠れるまでスクロールすると、背景が非透明色に変化するという現象がありました(下図)。
ヘッダーのcontentView.backgroundColor
をUIColor.clear
に設定するなどを試みましたが、スクロールすると背景色は非透明になってしまいます。
解決策
AppDelegateのapplication(_:didFinishLaunchingWithOptions:)
内で下記を記述することで、背景が非透明にならないように設定することができます。
var bgConfig = UIBackgroundConfiguration.listPlainCell()
bgConfig.backgroundColor = UIColor.clear
UITableViewHeaderFooterView.appearance().backgroundConfiguration = bgConfig
おわりに
同じようなことでハマっている方のお役に立てればと思います。
また、認識が間違っているなどのご指摘がありましたら、ご教授いただけますと幸いです。
環境
- Xcode 13
- iOS 15.0
- Swift 5.0