Перерисовка UIView с анимацией затухания?
В TwUI
существует метод, называемый redraw
на TUIView
. Он заставляет просмотр перерисовываться, но он также содержит анимацию свободного замирания между старым и новым состоянием представления.
Мне интересно, возможно ли что-то подобное в обычном UIView
. В принципе, как я могу перерисовать представление (setNeedsDisplay
) с затухающей анимацией между старым и новым состояниями?
Ответы
Ответ 1
Используйте +[UIView transitionWithView:duration:options:animations:completion:]
с параметром UIViewAnimationOptionTransitionCrossDissolve
и внутри блока анимации, заставляя слой вида сразу перерисовывать его содержимое.
[myView setNeedsDisplay];
[UIView transitionWithView:myView duration:1
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[myView.layer displayIfNeeded];
} completion:nil];
Ответ 2
Как насчет использования перекрестного растворения UIView?
[UIView transitionWithView:aView
duration:TIME_INTERVAL
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
// Change the view state
}
completion:^(BOOL finished) {
// Completion block
}];