Как не оживить трансформацию?

Как я не могу оживить трансформацию во время перемещения какого-либо кадра? У меня есть блок с анимацией:

        [UIView animateWithDuration:.2 animations:^{
            self.center = [ViewController fitPointToNet:self.center];
            [self.delegate repaint];
        }];

И перекрасить вызов метода paintInView. Этот метод рисует некоторую фигуру (например, линию) и вращает их. Я хочу, чтобы анимация выглядела как перемещение линии к точке назначения - теперь она перемещается и вращается.

- (void)paintInView:(UIView*)view 
{
//some drawing code   
line.transform = CGAffineTransformMakeRotation(M_PI);
//some drawing code
}

Кто-нибудь может помочь?

1 ответ

Вы вызываете метод перерисовки из блока анимации - поэтому любые изменения анимируемых свойств любого представления будут анимированными.

Вы должны вызвать этот метод из блока завершения анимации - используйте animateWithDuration:animations:completion метод вместо того, который вы используете сейчас.

Это выполнит преобразование без анимации после завершения анимации.

Другие вопросы по тегам