Я работаю над приложением, которое имеет некоторые анимации. Если пользователь нажимает на homebotton и решает вернуться в приложение - в ViewController, где происходят анимации, - ViewController должен отображаться, поскольку пользователь только что вводил его в обычном порядке (анимация начинается с самого начала). Я использую CABasigAnimation
. Может кто-нибудь, пожалуйста, скажите мне, как сбросить ViewController или что-то подобное?Как сбросить ViewController после нажатия кнопки homebutton и вернуться к тому же ViewController
Я думал о жизненном цикле в ViewController, но я не смог найти метод, аналогичный методу onRestart()
Android Activity, где вы можете поместить код, если userer входит в активность снова.
Код для анимации:
CAShapeLayer *progressCircle = [CAShapeLayer layer];
//....
[self.view.layer addSublayer:progressCircle];
CABasicAnimation *drawAnimation2 = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
//....
[progressCircle addAnimation:drawAnimation2 forKey:@"drawCircleAnimation"];
благодарит за ответ. Я реализовал resetAnimationMethod, и мне удалось снова запустить анимацию. Но предыдущая анимация все еще видна, и я не могу понять, как ее удалить. Я добавил код для моей анимации в вопросе – moobi
@moobi, перед тем как сбросить анимацию, вы должны удалить старый слой, добавленный вами (progressCircle). Для этого вы должны добавить следующее перед вашим анимационным кодом: self.view.layer = nil; – JustAnotherCoder
Если мне нравится использовать 'self.view.layer = nil;' возникает ошибка, говоря: «Назначение для свойства readonly» :( – moobi