Ответ 1
Я не эксперт по CoreAnimation, но вы можете определить CABasicAnimation
следующим образом
CABasicAnimation *morph = [CABasicAnimation animationWithKeyPath:@"path"];
morph.duration = 5;
morph.toValue = (id) [self getTrianglePath];
[maskLayer addAnimation:morph forKey:nil];
В первой строке указано, что вы хотите определить анимацию, которая изменяет свойство path
слоя. Во второй строке указано, что анимация занимает пять секунд, а третья строка дает окончательное состояние анимации. Наконец, мы добавляем анимацию к слою. Ключ является уникальным идентификатором для анимации, то есть, если вы добавите две анимации с одним и тем же ключом, будет рассмотрен только последний. Этот ключ также может использоваться для переопределения так называемых неявных анимаций. Есть несколько свойств CALayer
, которые анимируются по умолчанию. Точнее, если вы измените одно из этих свойств, изменение будет анимировано с продолжительностью 0.25.