swift中的CAGradientLayer相当于啥?
Posted
技术标签:
【中文标题】swift中的CAGradientLayer相当于啥?【英文标题】:What's the equivalent of CAGradientLayer in swift?swift中的CAGradientLayer相当于什么? 【发布时间】:2014-06-04 00:31:48 【问题描述】:我正在尝试移植一些创建渐变层的 Objective-C 代码
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.colors = colors;
gradientLayer.locations = locations;
gradientLayer.frame = view.bounds;
[view.layer insertSublayer:gradientLayer atIndex:index];
但是在 Swift 中,CAGradientLayer 似乎没有静态“层”方法或构造函数。尝试将其用作类型会产生:
let a:CAGradientLayer? = null
错误:使用模块“CAGradientLayer”作为类型
据我所知,CAGradientLayer 不是我可以导入的模块。在 Swift 中做渐变层的正确方法是什么?
【问题讨论】:
不能分配给 null 除非它是一个可选的,首先。您是否尝试分配给初始渐变层? 顺便说一句,使用 nil,而不是 null。 【参考方案1】:你需要先导入 QuartzCore:
import QuartzCore
let a:CAGradientLayer = CAGradientLayer()
【讨论】:
您也可以省略类型(即let a = CAGradientLayer()
)。以上是关于swift中的CAGradientLayer相当于啥?的主要内容,如果未能解决你的问题,请参考以下文章
具有 r g b 值的 CAGradientLayer 不起作用 SWIFT