什么相当于迅捷的CAGradientLayer?

Mik*_*rds 9 core-animation ios swift ios8

我正在尝试移植一些创建渐变层的Objective-C代码

CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.colors = colors;
gradientLayer.locations = locations;
gradientLayer.frame = view.bounds;

[view.layer insertSublayer:gradientLayer atIndex:index];
Run Code Online (Sandbox Code Playgroud)

但是在Swift中,CAGradientLayer似乎没有静态"层"方法或构造函数.尝试将其用作类型会产生:

let a:CAGradientLayer? = null
Run Code Online (Sandbox Code Playgroud)

错误:使用模块"CAGradientLayer"作为类型

据我所知,CAGradientLayer不是我可以导入的模块.在Swift中执行渐变图层的正确方法是什么?

Aus*_*tin 17

您需要先导入QuartzCore:

import QuartzCore

let a:CAGradientLayer = CAGradientLayer()
Run Code Online (Sandbox Code Playgroud)

  • 你也可以省略类型(即`let a = CAGradientLayer()`). (3认同)