2016-07-13 13 views
1

Ich habe eine Farbverlaufsschicht hinzugefügt, meiner Meinung nach funktioniert es perfekt im Hochformat-Bit, da es im Querformat nicht funktioniert.Farbverlaufsschicht funktioniert nicht im Querformatmodus. Swift

enter image description here

enter image description here

func createGredientBackground() { 

    let layer = CAGradientLayer() 
    let center = UIColor(red: 249/255, green: 150/255, blue: 107/255, alpha: 1).CGColor 
    let end = UIColor(red: 247/255, green: 93/255, blue: 89/255, alpha: 1).CGColor 
    let start = UIColor(red: 255/255, green: 229/255, blue: 180/255, alpha: 1).CGColor 

    layer.colors = [start, center,end] 
    layer.frame = self.view.bounds //self.view.frame 
    print(layer.frame) 
    layer.startPoint = CGPointMake(0.0, 0.5) 
    layer.endPoint = CGPointMake(1.0, 0.5) 

    self.view.layer.insertSublayer(layer, atIndex: 0) 

} 

Dank.

Antwort

5

Die Unterschichten werden nicht automatisch verkleinert die Ansicht passen: Sie sollten sie aktualisieren, wenn die Ansicht Pass das Layout bekommt:

func viewWillLayoutSubviews() { 
    super.viewWillLayoutSubviews() 
    gradientLayer.frame = view.layer.bounds 
} 

Hat es nicht versuchen, so sollten Sie vielleicht auch statt mit viewDidLayoutSubviews versuchen.

+0

Bingo !!! funktioniert gut danke. –

+0

Ich werde akzeptieren, es zeigt mir, dass Sie diese Antwort nach 7 Minuten akzeptieren können ... –

+0

Ich habe das gleiche Problem. Aber der Gradient nach der Aktualisierung ist absolut anders. Warum das? –