При a CALayer
,
который анимируется,
class Test: CAGradientLayer {
override func draw(in ctx: CGContext) {
super.draw(in: ctx)
startPoint = ....
}
*** Завершение приложения из-за неперехваченного исключения "CALayerReadOnly", причина: "попытка изменить уровень только для чтения
Кажется невозможным изменить один из обычных анимационных свойств внутри вызова draw#inContext
.
Итак, например:
Легко и просто иметь собственное настраиваемое собственное свойство, а затем нарисовать что-то на основе этого. Здесь некоторый код для свойства .progress
,
при анимации вашего свойства .progress
было бы легко представить, что нужно устанавливать другие свойства слоя, используя некоторую формулу, основанную на значении .progress
для каждого кадра.
Однако вы не можете сделать это в функции draw#in
- как это сделать?