添加渐变图层时,表格视图消失

时间:2018-09-06 10:32:28

标签: ios swift xcode

我想为我的应用程序添加渐变色背景。除了我的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()
}

2 个答案:

答案 0 :(得分:0)

每次视图布局其子视图时,都会插入一个渐变层。我认为UITableView不喜欢它的内部层结构。

我只是将渐变分配给表格视图的backgroundView属性。有关更多信息,请参见此:Adding gradient layer to tableview

答案 1 :(得分:-1)

您可能需要将表格视图和/或其他视图置于最前面。试试:

view.bringSubview(toFront: tableview)

viewWillAppear()中进行操作。