iPhone SE 和其他人之间的 CAGradientLayer 不同结果
CAGradientLayer different result between iPhone SE and others
我有一个 CAGradientLayer,没什么复杂的
let gradient: CAGradientLayer = CAGradientLayer()
gradient.colors = [UIColor.clear.cgColor, Colors.Corporate.cgColor]
gradient.locations = [0.0 , 1.0]
gradient.startPoint = CGPoint(x: 0.0, y: 0.0)
gradient.endPoint = CGPoint(x: 0.0, y: 1.0)
gradient.frame = bounds
mainImage.layer.insertSublayer(gradient, at: 0)
我在 iPhoneSE(模拟器)和 iPod(真实设备)上有不同的结果...任何其他设备,iPhoneX(真实设备)和 iPhone8(模拟器)预期工作广告。
底部的渐变叠加不同。还有其他人遇到过这个问题吗?
我认为这取决于何时创建图层并将其插入到子图层层次结构中。您可以尝试在 viewWillAppear
上更新其框架(如果您可以从视图控制器访问该层)或类似的吗?
像这样的图层在更改时应始终遵循父视图的边界。
我有一个 CAGradientLayer,没什么复杂的
let gradient: CAGradientLayer = CAGradientLayer()
gradient.colors = [UIColor.clear.cgColor, Colors.Corporate.cgColor]
gradient.locations = [0.0 , 1.0]
gradient.startPoint = CGPoint(x: 0.0, y: 0.0)
gradient.endPoint = CGPoint(x: 0.0, y: 1.0)
gradient.frame = bounds
mainImage.layer.insertSublayer(gradient, at: 0)
我在 iPhoneSE(模拟器)和 iPod(真实设备)上有不同的结果...任何其他设备,iPhoneX(真实设备)和 iPhone8(模拟器)预期工作广告。
底部的渐变叠加不同。还有其他人遇到过这个问题吗?
我认为这取决于何时创建图层并将其插入到子图层层次结构中。您可以尝试在 viewWillAppear
上更新其框架(如果您可以从视图控制器访问该层)或类似的吗?
像这样的图层在更改时应始终遵循父视图的边界。