สำหรับสีพื้นหลังทึบการตั้งค่า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!
}
}
อย่างไรก็ตามระวังผลข้างเคียงที่อาจเกิดขึ้น หากไม่ได้ตั้งค่ามุมมองตารางเป็น "จัดกลุ่ม" ส่วนหัวของส่วนจะสแน็ปที่ด้านบนเมื่อเลื่อนลง หากส่วนหัวของส่วนโปร่งใสเนื้อหาของเซลล์จะมองเห็นได้ซึ่งอาจดูไม่ดี
ที่นี่ส่วนหัวมีพื้นหลังโปร่งใส:
เพื่อป้องกันปัญหานี้ควรตั้งค่าพื้นหลังของส่วนหัวเป็นสีทึบ (หรือไล่ระดับสี) ที่ตรงกับพื้นหลังของมุมมองตารางหรือตัวควบคุมมุมมองของคุณ
ที่นี่ส่วนหัวมีพื้นหลังไล่ระดับสีทึบทั้งหมด: