我一直在尝试找出如何向tableView添加渐变层的方法,已经尝试了很多不同的方法,但无论我做多少bringSubviews或sendSubviews,都无法显示表格视图单元格。
let gradientLayer = CAGradientLayer()
gradientLayer.frame = view.bounds
gradientLayer.colors = [UIColor(red: 125/255.0, green: 125/255.0, blue: 125/255.0, alpha: 1.0).cgColor, UIColor(red: 125/255.0, green: 125/255.0, blue: 255/255.0, alpha: 1.0).cgColor]
gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.0)
gradientLayer.endPoint = CGPoint(x: 0.0, y: 1.0)
tableView.layer.addSublayer(gradientLayer)
无论我如何使用bring subviews和send subviews的组合,我总是遇到这个问题,单元格无法置于最前面。
有人知道如何修复这个问题,或者用另一种方式实现我想要做的事情吗,以使其正常工作吗?
非常感谢任何帮助。
backgroundView.layer.insertSublayer(gradientLayer, at: 0)
。另外不要忘记,如果tableView的布局发生变化(旋转等),则渐变层将不会跟随它。您需要重写viewDidLayoutSubviews
并在那里更新图层。否则,这是一个很好的解决方案,所以点个赞。 - Upholder Of TruthbackgroundView.layer.sublayers![0].frame = tableView.bounds
。这样,当布局更改时,渐变层框架也将被更新。 - Upholder Of Truth