添加渐变图层会导致图像无法在Xcode中显示

时间:2017-08-01 23:39:31

标签: objective-c swift xcode

如果这太容易了,请原谅我。我为我的VC创建了一个渐变背景,从那时起,当我运行应用程序时,我的故事板上没有任何图像显示。我附上了我的代码,随时纠正我。

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.
}

2 个答案:

答案 0 :(得分:0)

你在说:

self.view.layer.addSublayer(gradientLayer)

这意味着将子图层放在所有其他现有子图层的前面。但您的子视图子图层。因此,渐变覆盖了所有子视图。如果那不是你想要的,那就不要这样做。

答案 1 :(得分:0)

要将图层置于背景中,您应该使用insertSubLayer而不是addSubLayer

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

图层的索引应为0