Для суцільних кольорів фону встановлення contentView.backgroundColor
має бути достатньо:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.contentView.backgroundColor = .red // Works!
}
}
Для кольорів з прозорістю, включаючи .clear
колір, це більше не працює:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.contentView.backgroundColor = .clear // Does not work 😞
}
}
Для повного прозорого заголовка розділу встановіть backgroundView
властивість у порожній вигляд:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.backgroundView = UIView() // Works!
}
}
Однак остерігайтеся можливих побічних ефектів. Якщо для подання таблиці не встановлено значення "Згруповано", заголовки розділів будуть оснащені вгорі під час прокрутки вниз. Якщо заголовки розділів прозорі, вміст комірок буде видно наскрізь, що може не виглядати чудово.
Тут заголовки розділів мають прозорий фон:
Щоб цього не допустити, краще встановити фон заголовка секції суцільним кольором (або градієнтом), що відповідає фону перегляду таблиці або контролера перегляду.
Тут заголовки розділів мають повністю непрозорий фон градієнта: