Untuk warna latar belakang yang solid, pengaturan contentView.backgroundColor
seharusnya cukup:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.contentView.backgroundColor = .red // Works!
}
}
Untuk warna dengan transparansi, termasuk .clear
warna, ini tidak lagi berfungsi:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.contentView.backgroundColor = .clear // Does not work 😞
}
}
Untuk header bagian transparan penuh, setel backgroundView
properti ke tampilan kosong:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.backgroundView = UIView() // Works!
}
}
Namun, waspadai kemungkinan efek sampingnya. Kecuali jika tampilan tabel disetel ke "Dikelompokkan", header bagian akan dipasang di bagian atas saat di-scroll ke bawah. Jika header bagian transparan, konten sel akan terlihat, yang mungkin tidak terlihat bagus.
Di sini, header bagian memiliki latar belakang transparan:
Untuk mencegah hal ini, lebih baik menyetel latar belakang tajuk bagian ke warna solid (atau gradien) yang cocok dengan latar belakang tampilan tabel atau pengontrol tampilan Anda.
Di sini, header bagian memiliki latar belakang gradien yang sepenuhnya buram: