【问题标题】:how to gradient a background of a tableview in swift如何在swift中渐变tableview的背景
【发布时间】:2019-01-17 21:16:29
【问题描述】:
func setTableViewBackgroundGradient(sender: UITableViewController, _ topColor:UIColor, _ bottomColor:UIColor) {

    let gradientBackgroundColors = [topColor.cgColor, bottomColor.cgColor]
    let gradientLocations = [0.0,1.0]

    let gradientLayer = CAGradientLayer()
    gradientLayer.colors = gradientBackgroundColors
    gradientLayer.locations = gradientLocations as [NSNumber]

    gradientLayer.frame = sender.tableView.bounds
    let backgroundView = UIView(frame: sender.tableView.bounds)
    backgroundView.layer.insertSublayer(gradientLayer, at: 0)
    sender.tableView.backgroundView = backgroundView
}

【问题讨论】:

  • 到底是什么问题?请阅读How to Ask 并更新您的问题。

标签: swift3


【解决方案1】:

试试这个它对我有用(Swift 4)

注意:首先设置 Tableview Cell & Cell ContentView Background 颜色到清除颜色。

@IBOutlet fileprivate weak var tblVw: UITableView!

private var gradientLayer = CAGradientLayer()

override func viewDidLoad() {
    super.viewDidLoad()
}

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    if gradientLayer.superlayer != nil {
        gradientLayer.removeFromSuperlayer()
    }
    let topColor = UIColor(red: 16.0/255.0, green: 12.0/255.0, blue: 54.0/255.0, alpha: 1.0)
    let bottomColor = UIColor(red: 57.0/255.0, green: 33.0/255.0, blue: 61.0/255.0, alpha: 1.0)
    gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.0)
    gradientLayer.endPoint = CGPoint(x: 1.0, y: 1.0)
    gradientLayer.colors = [topColor.cgColor, bottomColor.cgColor]
    gradientLayer.frame = tblVw.bounds
    let backgroundView = UIView(frame: tblVw.bounds)
    backgroundView.layer.insertSublayer(gradientLayer, at: 0)
    tblVw.backgroundView = backgroundView
}

输出:

【讨论】:

  • 先生它不起作用它隐藏了表格视图的所有内容
  • @abhishekrajput 您错过了集成中的某个人,因为它是工作文件,请再检查一次。
  • 尊敬的先生,我再次检查。颜色隐藏了 tableview 的内容。先生,你能给我一个项目构建,所以我可以检查它。电子邮件:rajput.abhishek660@gmail.com
  • @abhishekrajput 您需要为组件和背景颜色设置浅暗颜色组合。查看更新的答案。
  • @abhishekrajput Stack Overflow 不是代码编写服务。如果您尝试过某事,请更新您的问题以显示您尝试过的内容以及问题所在。
最近更新 更多