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相当于啥?的主要内容,如果未能解决你的问题,请参考以下文章

Swift 中的 CAGradientLayer 位置

swift渐变之CAGradientLayer

swift Swift - CAGradientLayer

具有 r g b 值的 CAGradientLayer 不起作用 SWIFT

Swift - 通过 switch 语句为 CAGradientLayer 设置动画

Swift 2.1:CAGradientLayer 颜色定位和分布