0

我正在开发一款 Swift 4、SceneKit 3D 游戏。我使用以下方法将场景的背景设置为 CAGradientLayer:

let gradientLayer = CAGradientLayer()
    gradientLayer.frame = self.view.bounds
    gradientLayer.colors = [UIColor.white.cgColor, UIColor.init(red: 160/255, green: 235/255, blue: 232/255, alpha: 1).cgColor]
    sceneView.scene?.background.contents = gradientLayer

它只能在我的手机上正常工作。如果我使用另一个测试设备,CAGradientLayer 会阻挡场景。如果我将场景视图的背景设置为 UIColor,它适用于所有设备。

我该如何解决这个问题,为什么这是一个问题?

编辑:由于某种原因,它看起来可能会将渐变层作为子层添加到 UIView。有任何解决这个问题的方法吗?

4

1 回答 1

0

这是因为 UIKit 呈现视图和图层的方式。将其设置为图像,然后将其设置为背景。

于 2018-03-19T00:43:05.303 回答