我正在开发一款Swift 4,SceneKit 3D游戏。我使用:
将场景的背景设置为CAGradientLayerlet 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会阻止该场景。如果我将sceneView的背景设置为UIColor,它适用于所有设备。
我该如何解决这个问题?为什么这是一个问题?
编辑:看起来由于某种原因,它可能会将gradientLayer作为子层添加到UIView。有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
这是因为UIKit呈现视图和图层的方式。将其设为图像,然后将其设置为背景。