Я делаю приложение iOS. У меня есть несколько CALayer
объектов, которые в конечном итоге будут удален от (сокращение) анимация. Когда анимация завершена и вызывается animationDidStop:finished
, я хотел бы удалитьCALayer
объект с супер и удалите его.Как удалить слой, когда его анимация завершена?
- Но как я могу получить
CALayer
объект вanimationDidStop:finished
? Я бы догадался, что у объектаCAanimation
есть указатель на слой, но я не могу найти его в документе. - Есть ли лучший способ справиться с проблемой? (На самом деле, у меня есть несколько анимационных объектов добавлены в том же слое, и, в идеале, я хотел бы, чтобы удалить слой только тогда, когда последняя анимация завершается)
Я призываю * addAnimation: forKey: *, как я могу передать объект CALayer? – ragnarius
У вас может быть свойство NSMutableArray на вашем делетете. Каждый раз, когда вы используете addAnimation: forKey: добавьте этот CALayer в NSMutableArray. Затем вы можете ссылаться на все CALayers от вашего делегата. –
Итак, вы имеете в виду, что * animationDidStop: finished: * должен сканировать этот измененный массив, чтобы увидеть, может ли он найти какие-либо объекты уровня, которые не имеют текущей анимации, а затем удалить их как из массива, так и из супер-слоя? – ragnarius