CGColorRef对象的数组

时间:2015-06-21 08:50:26

标签: ios arrays core-graphics

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

要做到这一点,我必须使用CAGradientLayer并渲染图像。我的问题是设置颜色。

来自Apple的文档:

  

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

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

gradient.colors = [NSArray arrayWithObjects:[UIColor redColor].CGColor, [UIColor whiteColor].CGColor, [UIColor blueColor].CGColor, nil];

这不起作用,因为CGColorRef不是对象类型,无法发送到id类型。我的错误是:

  

CGColorRef(又名struct CGColor *)发送到类型为id

的参数的指针类型不兼容

如何创建CGColorRef

的数组

1 个答案:

答案 0 :(得分:4)

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

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

enter image description here