[英]How can I set UITableView's section's header gradient (and transparent) background in Xcode?
1. 使用 ViewForHeaderInSection 如下:
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView = self.getGradientBackgroundView()
// Add any title to the Header if needed
let label = UILabel()
label.frame = CGRect.init(x: 5, y: 5, width: headerView.frame.width-10, height: headerView.frame.height-10)
label.text = "My header"
headerView.addSubview(label)
return headerView
}
2. 使用 heightForHeaderInSection 設置標題的高度:
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 50 //whatever height you needed.
}
3.獲取漸變BG Header View
private func getGradientBackgroundView() -> UIView {
let gradientBackgroundView = UIView()
// Prepare Gradient Layer
let gradientLayer = CAGradientLayer()
gradientLayer.frame.size = CGSize(width: self.myTableView.frame.size.width, height: 50) // height same as in heightForHeaderInSection
gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 1.0, y: 0.5)
gradientLayer.colors = [UIColor.blue.cgColor, UIColor.green.cgColor]
// Add layer to view
gradientBackgroundView.layer.addSublayer(gradientLayer)
return gradientBackgroundView
}
希望這可以幫助!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.