我想为我的应用程序添加渐变色背景。除了我的tableViews已经消失并且我的scrollViews在其背景中捕捉其内容之外,其他所有东西都可以正常工作。我该如何解决这个问题?
func createGradientLayer() {
let gradientLayer = CAGradientLayer()
gradientLayer.frame = self.view.bounds
gradientLayer.colors = [UIColor().HexToColor(hexString: "#783CBD", alpha: 1).cgColor, UIColor().HexToColor(hexString: "#BC1FFF", alpha: 1).cgColor]
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = CGPoint(x: 1, y: 1)
self.view.layer.insertSublayer(gradientLayer, at: 0)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
createGradientLayer()
}
答案 0 :(得分:0)
每次视图布局其子视图时,都会插入一个渐变层。我认为UITableView不喜欢它的内部层结构。
我只是将渐变分配给表格视图的backgroundView
属性。有关更多信息,请参见此:Adding gradient layer to tableview
答案 1 :(得分:-1)
您可能需要将表格视图和/或其他视图置于最前面。试试:
view.bringSubview(toFront: tableview)
在viewWillAppear()
中进行操作。