IOS UIView анимация (onUpdate) - PullRequest
       1

IOS UIView анимация (onUpdate)

1 голос
/ 04 февраля 2012

UIView animatWithDuration имеет необязательный параметр для completion, но мне нужен один для update

Вся идея в том, что мне нужен блок, который работает в КАЖДОМ кадре анимации.Я полагаю, что могу подделать это с NSInterval, но это просто кажется хриплым.

Мысли?

1 Ответ

5 голосов
/ 04 февраля 2012

Используйте взамен CADisplayLink. Работает так же, как NSTimer, но срабатывает ровно один раз за каждый кадр и будет идеально синхронизироваться с анимацией.

Вот как вы его настроили:

self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(step)];
[link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];

Ваш код анимации

- (void)step
{
    //do something related to your animation
}

Затем, когда анимация заканчивается

[self.displayLink invalidate];
self.displayLink = nil;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...