CAGradientLayer与iPhone SE的不同结果

问题描述 投票:0回答:1

我有一个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(模拟器)都能正常工作。

iPhoneSE Iphone8

底部的渐变叠加是不同的。有人遇到过这个问题吗?

swift cagradientlayer
1个回答
2
投票

我想这取决于图层是什么时候创建并插入到子图层结构中的。你能不能试着更新它的框架?viewWillAppear (如果你可以从视图控制器访问该层)或类似的功能?

当父视图的边界发生变化时,这样的图层应该始终跟随父视图的边界。

© www.soinside.com 2019 - 2024. All rights reserved.