2017-08-01 81 views
-1

对此很新颖,所以如果太容易,请原谅我。我为我的VC创建了一个渐变背景,从那时起,当我运行该应用程序时,我的故事板上没有任何图像显示。我附上我的代码,并随时纠正我。添加渐变图层会导致图片无法在Xcode中显示

class whoVC: UIViewController { 







func setGradientBackground() { 
    let colorTop = UIColor(red: 119.0/255.0, green: 56.0/255.0, blue: 109.0/255.0, alpha: 2.0).cgColor 
    let colorBottom = UIColor(red: 185.0/255.0, green: 89.0/255.0, blue: 127.0/255.0, alpha: 2.0).cgColor 

    let gradientLayer = CAGradientLayer() 
    gradientLayer.colors = [ colorTop, colorBottom] 
    gradientLayer.locations = [ 0.0, 1.0] 
    gradientLayer.frame = self.view.bounds 

    self.view.layer.addSublayer(gradientLayer) 





} 


override func viewDidLoad() { 
    super.viewDidLoad() 


    setGradientBackground() 
} 




override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 
+0

重新排序子层。 –

+0

我该怎么做? – Moises

回答

0

你是在说:

self.view.layer.addSublayer(gradientLayer) 

这意味着把一个子层中的所有其他现有的子层的前面。但是你的子视图子图层。因此,渐变涵盖了所有的子视图。如果那不是你想要的,不要这样做。

+0

这样删除self.view.layer.addSublayer(gradientLayer)会有帮助吗?我做到了,梯度不起作用。所以我假设我做错了。 – Moises

+0

重新排列子层 – matt

0

为了把该层的背景下,你应该使用insertSubLayer代替addSubLayer

view.layer.insertSublayer(yourLayer, atIndex: yourIndex) 

层的指数应该是0