단색 배경색의 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!
}
}
그러나 가능한 부작용에주의하십시오. 테이블보기가 "그룹화"로 설정되어 있지 않으면 아래로 스크롤 할 때 섹션 머리글이 맨 위에 스냅됩니다. 섹션 헤더가 투명하면 셀 내용이 잘 보이지 않을 수 있습니다.
여기에서 섹션 헤더에는 투명한 배경이 있습니다.
이를 방지하려면 섹션 헤더의 배경을 테이블 뷰 또는 뷰 컨트롤러의 배경과 일치하는 단색 (또는 그라데이션)으로 설정하는 것이 좋습니다.
여기에서 섹션 헤더에는 완전히 불투명 한 그라데이션 배경이 있습니다.