Перерисовывает UIView с исчезающей анимацией? - PullRequest
18 голосов
/ 20 декабря 2011

В TwUI есть метод, называемый redraw для TUIView. Он заставляет представление перерисовываться, но также поставляется с бесплатной анимацией затухания между старым и новым состоянием представления.

Мне интересно, возможно ли что-то подобное в обычном UIView. В принципе, как я могу перерисовать представление (setNeedsDisplay) с затухающей анимацией между старым и новым состояниями?

Ответы [ 2 ]

41 голосов
/ 20 декабря 2011

Используйте +[UIView transitionWithView:duration:options:animations:completion:] с параметром UIViewAnimationOptionTransitionCrossDissolve, и внутри блока анимации вынудите слой представления немедленно перерисовать его содержимое.

[myView setNeedsDisplay];
[UIView transitionWithView:myView duration:1
    options:UIViewAnimationOptionTransitionCrossDissolve
    animations:^{
        [myView.layer displayIfNeeded];
    } completion:nil];
1 голос
/ 20 декабря 2011

Как насчет использования перекрестного растворения UIView перехода?

[UIView transitionWithView:aView 
                  duration:TIME_INTERVAL 
                   options:UIViewAnimationOptionTransitionCrossDissolve 
                animations:^{
                    // Change the view's state
                } 
                completion:^(BOOL finished) {
                    // Completion block
                }];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...