2017-01-25 12 views
2

Мое приложение имеет слой градиента, который я сделал в коде. Однако, когда я показываю это на экране, он охватывает все остальные компоненты и скрывает мои кнопки, метки и изображения.Наведите градиентный слой на фон swift

Как оттолкнуть этот слой так, чтобы его фон был на вид?

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

Вы можете вставить подуровень с определенным индексом.

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

Благодаря этому человеку :) – pete800

+0

Вы долгожданная :) – Yannick

0

Вы можете добавить любого из подвидов вы имеете любой индекс, как:

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

в также может быть использован в качестве atIndex, и это означает, что indexPath представления (от иерархию представлений), где вы хотите добавить свой под просмотр.

+1

Пожалуйста, используйте ссылку [изменить] объяснить, как этот код работает и не просто дать код, так как объяснение, скорее всего, поможет будущим читателям. См. Также [ответ]. [Источник] (http://stackoverflow.com/users/5244995) –

1

Мы можем также добавить подвид ниже или выше любых других точек зрения, используя insertSubview

self.view.insertSubview(subview1_name, belowSubview: subview2_name) 
self.view.insertSubview(subview1_name, aboveSubview: subview2_name)