将渐变层推到背景swift

时间:2017-01-25 11:58:16

标签: ios swift background swift2

我的应用有一个我在代码中制作的渐变图层。然而,当我在屏幕上显示它时,它覆盖了所有其他组件并隐藏了我的按钮,标签和图像。

如何将此图层推回以使其成为视图的背景?

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    //creating color gradient
    let topColor = UIColor(red: 69/255, green: 140/255, blue: 68/255, alpha: 1).CGColor
    let bottomColor = UIColor(red: 143/255, green: 239/255, blue: 141/255, alpha: 1).CGColor
    let gradientLayer = CAGradientLayer()
    gradientLayer.frame = self.view.frame
    gradientLayer.colors = [topColor,bottomColor]
    gradientLayer.locations = [0.1,1.0]
    self.view.layer.addSublayer(gradientLayer)   
}

3 个答案:

答案 0 :(得分:12)

您可以在特定索引处插入子图层。

self.view.layer.insertSublayer(gradientLayer, at: 0)

答案 1 :(得分:1)

您可以将任何索引中包含的任何子视图添加为:

self.view.layer.insertSublayer(yourLayer, at: 0)

at 也可用作 atIndex ,它表示视图的indexPath(来自视图层次结构),您要在其中添加子视图。

答案 2 :(得分:1)

我们还可以使用insertSubview

在任何其他观看下方或上方添加子视图
self.view.insertSubview(subview1_name, belowSubview: subview2_name)
self.view.insertSubview(subview1_name, aboveSubview: subview2_name)