如果这太容易了,请原谅我。我为我的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.
}
答案 0 :(得分:0)
你在说:
self.view.layer.addSublayer(gradientLayer)
这意味着将子图层放在所有其他现有子图层的前面。但您的子视图是子图层。因此,渐变覆盖了所有子视图。如果那不是你想要的,那就不要这样做。
答案 1 :(得分:0)
要将图层置于背景中,您应该使用insertSubLayer而不是addSubLayer
view.layer.insertSublayer(yourLayer, atIndex: yourIndex)
图层的索引应为0