Für einfarbige Hintergrundfarben contentView.backgroundColor
sollte die Einstellung ausreichend sein:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.contentView.backgroundColor = .red // Works!
}
}
Bei Farben mit Transparenz, einschließlich .clear
Farbe, funktioniert dies nicht mehr:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.contentView.backgroundColor = .clear // Does not work 😞
}
}
Setzen Sie die backgroundView
Eigenschaft für eine vollständig transparente Abschnittsüberschrift auf eine leere Ansicht:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.backgroundView = UIView() // Works!
}
}
Achten Sie jedoch auf mögliche Nebenwirkungen. Sofern die Tabellenansicht nicht auf "Gruppiert" eingestellt ist, werden die Abschnittsüberschriften beim Scrollen nach oben oben eingerastet. Wenn die Abschnittsüberschriften transparent sind, wird der Zelleninhalt durchsichtig, was möglicherweise nicht gut aussieht.
Hier haben Abschnittsüberschriften einen transparenten Hintergrund:
Um dies zu verhindern, ist es besser, den Hintergrund der Abschnittsüberschrift auf eine Volltonfarbe (oder einen Farbverlauf) einzustellen, die dem Hintergrund Ihrer Tabellenansicht oder Ihres Ansichtscontrollers entspricht.
Hier haben Abschnittsüberschriften einen vollständig undurchsichtigen Hintergrund mit Farbverlauf: