CGColorRef 对象数组

DDP*_*AGE 2 arrays core-graphics ios

我正在尝试在 SpriteKit 中创建渐变纹理。

为此,我必须使用 aCAGradientLayer并渲染图像。我的问题是设置颜色。

来自苹果的文档:

CGColorRef定义每个渐变色标颜色的对象数组。可动画。

所以在代码中,我试过这个:

gradient.colors = [NSArray arrayWithObjects:[UIColor redColor].CGColor, [UIColor whiteColor].CGColor, [UIColor blueColor].CGColor, nil];
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为CGColorRef它不是对象类型并且不能发送到 type id。我的错误是:

不兼容的指针类型发送CGColorRef(又名struct CGColor *)到类型参数id

如何创建一个数组CGColorRef

luk*_*302 6

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

gradient.colors = @[(id)[UIColor redColor].CGColor, (id)[UIColor whiteColor].CGColor, (id)[UIColor blueColor].CGColor];
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明