In TwUI, there is a method called redraw on TUIView. It forces the view to redraw, but it also comes with a free fading animation between the old and new state of the view.
I'm wondering if something like that is possible in a normal UIView. Basically, how can I redraw the view (setNeedsDisplay) with a fading animation between the old and the new states?
Use +[UIView transitionWithView:duration:options:animations:completion:] with the UIViewAnimationOptionTransitionCrossDissolve option, and inside the animation block, force the view's layer to redraw its contents immediately.
[myView setNeedsDisplay];
[UIView transitionWithView:myView duration:1
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[myView.layer displayIfNeeded];
} completion:nil];
How about using a cross-dissolve UIView transition?
[UIView transitionWithView:aView
duration:TIME_INTERVAL
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
// Change the view's state
}
completion:^(BOOL finished) {
// Completion block
}];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With