Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 添加gradientLayer时,表视图将消失_Ios_Swift_Xcode - Fatal编程技术网

Ios 添加gradientLayer时,表视图将消失

Ios 添加gradientLayer时,表视图将消失,ios,swift,xcode,Ios,Swift,Xcode,我想在我的应用程序中添加渐变色背景。除了我的桌面视图消失,我的滚动视图将内容捕捉到背景中之外,一切都很好地工作。我如何解决这个问题 func createGradientLayer() { let gradientLayer = CAGradientLayer() gradientLayer.frame = self.view.bounds gradientLayer.colors = [UIColor().HexToColor(hexString: "#783CBD",

我想在我的应用程序中添加渐变色背景。除了我的桌面视图消失,我的滚动视图将内容捕捉到背景中之外,一切都很好地工作。我如何解决这个问题

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()
}

这将在每次视图布局其子视图时插入渐变层。如果你弄乱了它的内部层结构,我认为UITableView不喜欢它


我只需要为表视图的backgroundView属性指定一个渐变。有关更多信息,请参见此部分:

您可能需要将表视图和/或其他视图放在前面。尝试:

view.bringSubview(toFront: tableview)

在视图中执行此操作将出现。

在方法viewDidLayoutSubviews中的createGradientLayer处设置断点。我认为它创建了很多渐变层…scrollView的问题已经解决了。我通过将函数createGradientLayer放在函数viewDidLoad中实现了这一点。但是我的桌面视图的问题仍然存在。什么不起作用?你能展示一下你试过的代码吗?