Я боролся с этой проблемой, пока экспериментально не нашел контрольно-пропускной пункт. Установка свойства backgroundColor слоя непосредственно или через анимацию не будет иметь никакого эффекта, если вы измените цвет фона по умолчанию (не указан) в Интерфейсном Разработчике, в контексте курса элемента (такого как UILabel), который это был помещен в IB. Поэтому оставьте цвет фона неуказанным, и вышесказанное должно работать.

аюсь создать CABasicAnimation для анимации свойства backgroundColor в Core Animation CALayer, но не могу понять, как правильно обернуть значение 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)?

Ответы на вопрос(2)

Ваш ответ на вопрос