【发布时间】:2010-05-21 23:08:11
【问题描述】:
我需要能够动态重新着色的三个 CGGradientRef。当我第一次初始化 CGGradientRef 时,我得到了预期的结果,但每次我尝试更改颜色时都没有任何反应。为什么?
gradient 是 CALayer 子类中的一个实例变量:
@interface GradientLayer : CALayer
{
CGGradientRef gradient;
//other stuff
}
@end
代码:
if (gradient != NULL)
{
CGGradientRelease(gradient);
gradient = NULL;
}
RGBA color[360];
//set up array
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
gradient = CGGradientCreateWithColorComponents
(
rgb,
color,
NULL,
sizeof (color) / sizeof (color[0])
);
CGColorSpaceRelease(rgb);
[self setNeedsDisplay];
【问题讨论】:
标签: iphone objective-c core-graphics