TwUI中,在redraw上有一种称为TUIView的方法。它迫使 View 重新绘制,但是它也带有在 View 的旧状态和新状态之间的自由淡入淡出的动画。

我想知道在正常的UIView中是否可以进行类似的操作。基本上,如何在旧状态和新状态之间使用淡入淡出的动画重绘 View (setNeedsDisplay)?

最佳答案

+[UIView transitionWithView:duration:options:animations:completion:]UIViewAnimationOptionTransitionCrossDissolve选项一起使用,然后在动画块内部,强制 View 的图层立即重绘其内容。

[myView setNeedsDisplay];
[UIView transitionWithView:myView duration:1
    options:UIViewAnimationOptionTransitionCrossDissolve
    animations:^{
        [myView.layer displayIfNeeded];
    } completion:nil];

10-08 06:00
查看更多