Đối với màu nền vững chắc, cài đặt contentView.backgroundColor
phải là đủ:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.contentView.backgroundColor = .red // Works!
}
}
Đối với các màu có độ trong suốt, bao gồm cả .clear
màu, điều này không còn hoạt động:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.contentView.backgroundColor = .clear // Does not work 😞
}
}
Đối với tiêu đề phần trong suốt đầy đủ, đặt thuộc backgroundView
tính thành chế độ xem trống:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.backgroundView = UIView() // Works!
}
}
Tuy nhiên, hãy cẩn thận với các tác dụng phụ có thể. Trừ khi chế độ xem bảng được đặt thành "Được nhóm", các tiêu đề của phần sẽ chụp ở trên cùng khi cuộn xuống. Nếu các tiêu đề phần trong suốt, nội dung ô sẽ được nhìn xuyên qua, có thể trông không tuyệt vời.
Ở đây, phần tiêu đề có nền trong suốt:
Để ngăn chặn điều này, tốt hơn là đặt nền của tiêu đề phần thành màu đơn sắc (hoặc độ dốc) phù hợp với nền của chế độ xem bảng hoặc bộ điều khiển xem của bạn.
Ở đây, tiêu đề phần có nền gradient hoàn toàn mờ đục: