【发布时间】:2010-10-05 19:33:07
【问题描述】:
我正在尝试构造一个 CABasicAnimation 来为 Core Animation CALayer 的 backgroundColor 属性设置动画,但我不知道如何正确包装 CGColorRef 值以传递给动画。例如:
CGColorSpaceRef rgbColorspace = CGColorSpaceCreateDeviceRGB();
CGFloat values[4] = {1.0, 0.0, 0.0, 1.0};
CGColorRef red = CGColorCreate(rgbColorspace, values);
CGColorSpaceRelease(rgbColorspace);
CABasicAnimation *selectionAnimation = [CABasicAnimation animationWithKeyPath:@"backgroundColor"];
[selectionAnimation setDuration:0.5f];
[selectionAnimation setToValue:[NSValue valueWithPointer:red]];
[layer addAnimation:selectionAnimation forKey:@"selectionAnimation"];
似乎对 backgroundColor 属性没有任何作用,我认为是因为将其作为包裹在 NSValue 中的指针传递并不是传递它的方式。
backgroundColor 是 CALayer 的动画属性,所以我的问题是:你如何设置这个特定属性的 From 或 To 值(最好以 Mac / iPhone 平台无关的方式)?
【问题讨论】:
标签: iphone cocoa macos core-animation