小编Ger*_*ely的帖子

使用 CAGradientLayer 重现草图渐变的正确方法

我想创建一个具有四种给定颜色的渐变图层。我有一个渐变的草图文件。我有色标的坐标。我计算了 CAGradientLayer 起点和终点的标准化坐标。我还计算了颜色相互变化的位置。该图层仍然与草图图像不匹配。你能帮我看看有什么问题吗?导出图像的使用不是一种选择,因为图层必须随动画更改为其他渐变位置。

let imageWidth: CGFloat = 375.0
let imageHeihgt: CGFloat = 293.0

class ViewController: UIViewController {

    let homeColors: [UIColor] = [UIColor(red: 62/255, green: 131/255, blue: 255/255, alpha: 1.0),
                                 UIColor(red: 99/255, green: 22/255, blue: 203/255, alpha: 1.0),
                                 UIColor(red: 122/255, green: 5/255, blue: 239/255, alpha: 1.0),
                                 UIColor(red: 122/255, green: 5/255, blue: 240/255, alpha: 1.0)]

    let startPoint: CGPoint = CGPoint(x: -0.225/imageWidth*UIScreen.main.bounds.width, y: -0.582*imageHeihgt/UIScreen.main.bounds.height)
    let endPoint: CGPoint = CGPoint(x: 1.088/imageWidth*UIScreen.main.bounds.width, y: 1.01*imageHeihgt/UIScreen.main.bounds.height)

    let locations: [NSNumber] = [0.0, 0.734, 0.962, 1.0]

    var subview: UIView! …
Run Code Online (Sandbox Code Playgroud)

calayer ios cagradientlayer swift

7
推荐指数
1
解决办法
1255
查看次数

标签 统计

cagradientlayer ×1

calayer ×1

ios ×1

swift ×1