Closed2

SwiftUIのListで `.listRowBackground(Color.red)` を指定していても背景色がたまに反映されないことがある問題

Kenji Wada (さくさん)Kenji Wada (さくさん)

SwiftUIのListでセルの背景色をつける場合、.listRowBackground(Color.red) のように指定する。きちんと背景色を指定しているのにも関わらず、特定のアプリでは背景色が反映されたり反映されなかったりしていて頭を抱えていた。

問題ないアプリとの差分を取っていったところ、問題の発生しているアプリでは起動時に下記のようなコードがあった。

let selectedView = UIView()
selectedView.backgroundColor = R.color.list_cell_background_selected()
UITableViewCell.appearance().selectedBackgroundView = selectedView

UITableViewCell.appearance().selectedBackgroundView を設定している箇所をコメントアウトしたことで、.listRowBackground(Color.red) の処理が正しく動くようになった。

このスクラップは2022/05/12にクローズされました