我想将UITableViewController背景颜色更改为渐变颜色。
我的代码如下:
override func viewDidLoad() {
super.viewDidLoad()
let gradient = CAGradientLayer()
let gradientLocations = [0.0,1.0]
gradient.frame = view.bounds;
gradient.colors = [primaryColor, secondaryColor]
gradient.locations = gradientLocations as [NSNumber]?
let backgroundView = UIView(frame: view.bounds)
backgroundView.layer.insertSublayer(gradient, at: 0)
tableView.backgroundView = backgroundView
tableView.separatorStyle = UITableViewCellSeparatorStyle.none
tableView.backgroundColor = UIColor.clear
}
它变成黑色。
我发现了这个非常相似的问题,但它无法解决我的问题。 Set gradient behind UITableView
请帮忙! 提前谢谢。
答案 0 :(得分:2)
我创建了一个带有表视图控制器的新项目,该控制器包含您的代码。我所要做的就是让细胞透明化,就像你所说的那样。它奏效了,所以这让我很好奇。您没有显示primaryColor
和secondaryColor
是什么。
请注意,您需要在CGColor
中使用gradient.colors
。我刚尝试使用UIColor
,屏幕也一样黑。尝试使用
gradient.colors = [UIColor.red.cgColor, UIColor.blue.cgColor]
或者更确切地说(如果它们确实属于UIColor
类型)
gradient.colors = [primaryColor.cgColor, secondaryColor.cgColor]