У меня есть анимация, и когда она заканчивается, я хочу удалить ее из своего супервизора. Однако я просто не могу обойти синтаксис обработчика завершения для Swift. Эта анимация написана в подклассе UIView
.Как написать обработчик завершения в Swift с анимацией.
UIView.animateWithDuration(0.5,
delay: 0.0,
options: .CurveEaseInOut,
animations: { self.frame = CGRectMake(0,0, 500, 500)},
completion: /*Magic Code here??*/)
Я хочу назвать self.removeFromSuperView()
в качестве параметра для completion
, однако после прочтения многих статей в Интернете я до сих пор не могу этого добиться.
Спасибо!
Приятно иметь в виду, но в этом случае вам не нужно использовать [unowned self], потому что вы не создаете ссылку в себе для анимации. – Sam
Существует ссылка на 'self' как в анимации, так и в завершении закрытия (так что также должен быть список захвата в закрытии анимации, на самом деле). – Stuart
Чтобы создать цикл, я также должен будет сохранить ссылку на анимацию или закрытие, чего нет здесь. Например, если вы должны назначить параметр закрытия для свойства класса, вам придется беспокоиться о сильном эталонном цикле. – Sam