2016-09-02 1 views
0

Я создаю игру, в которой меняется размер моего UIImage, и пользователь должен нажать на экран в нужное время, чтобы остановить анимацию. Затем размер конца сравнивается с фиксированной константой, чтобы указать точки пользователя, исходя из того, насколько они близки. Есть ли способ использовать метод .removeAllAnimations() и получить размер в это время? Я попытался использовать view.bounds, view.frame, view.layer.frame и view.layer.bounds, и они все ошибаются. Есть ли другой метод, который я должен использовать?Swift - поиск размера UIImageview после того, как анимация прервана/отменена?

ответ

1

как UIView и UIViewController (а также NSView и NSViewController) действуют как CAAnimationDelegate, который имеет методы:

override func animationDidStop(anim: CAAnimation, finished flag: Bool)   
override func animationDidStart(anim: CAAnimation) 

Так установить делегат вашей анимации в какой бы ни вид, контроллер и использовать эти методы, чтобы обрабатывать остановить, начать события.

например.

let anim = CAAnimation() 
    ... set animation up here 
    anim.delegate = self 
+0

Удивительный, спасибо большое. У меня нет времени, чтобы попробовать это сейчас, но это определенно указало мне в правильном направлении – Niko

+1

не забудьте установить делегат анимации ... Я чувствую себя в прошлом, ударяя головой о стену только потому, что забыл ее установить! ха –

Смежные вопросы