我正在尝试在 SpriteKit 中创建渐变纹理。
为此,我必须使用 CAGradientLayer
并渲染图像。我的问题是设置颜色。
来自 Apple 的文档:
An array of
CGColorRef
objects defining the color of each gradient stop. Animatable.
所以在代码中,我尝试了这个:
gradient.colors = [NSArray arrayWithObjects:[UIColor redColor].CGColor, [UIColor whiteColor].CGColor, [UIColor blueColor].CGColor, nil];
这不起作用,因为 CGColorRef
不是对象类型,不能发送到类型 id
。我的错误是:
Incompatible pointer types sending
CGColorRef
(akastruct CGColor *
) to parameter of typeid
如何创建 CGColorRef
数组?
只需使用数组文字并转换为 (id)
:
gradient.colors = @[(id)[UIColor redColor].CGColor, (id)[UIColor whiteColor].CGColor, (id)[UIColor blueColor].CGColor];
关于ios - CGColorRef 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30962786/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |