OStack程序员社区-中国程序员成长平台

标题: ios - CGColorRef 对象数组 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 11:05
标题: ios - CGColorRef 对象数组

我正在尝试在 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 (aka struct CGColor *) to parameter of type id

如何创建 CGColorRef 数组?



Best Answer-推荐答案


只需使用数组文字并转换为 (id):

gradient.colors = @[(id)[UIColor redColor].CGColor, (id)[UIColor whiteColor].CGColor, (id)[UIColor blueColor].CGColor];

enter image description here

关于ios - CGColorRef 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30962786/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4