渐变层不适用于横向模式。 Swift

Gradient layer is not working on landscape mode. Swift

我添加了一个渐变层,在我看来它在纵向模式下工作完美,但在横向模式下不工作。

 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)

}

谢谢。

子层不会自动调整大小以适应视图:您应该在视图获得其布局通道时更新它们:

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

没试过,所以也许你也应该试试 viewDidLayoutSubviews