用淡入淡出的动画重绘UIView?

时间:2011-12-19 20:53:56

标签: iphone objective-c ios cocoa-touch uiview

TwUI中,redraw上有一个名为TUIView的方法。它会强制视图重绘,但它也会在视图的旧状态和新状态之间附带一个自由淡入淡出的动画。

我想知道在正常的UIView中是否可能出现类似的情况。基本上,如何在旧状态和新状态之间使用淡入淡出的动画重绘视图(setNeedsDisplay)?

2 个答案:

答案 0 :(得分:41)

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

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

答案 1 :(得分:1)

如何使用交叉溶解UIView过渡?

[UIView transitionWithView:aView 
                  duration:TIME_INTERVAL 
                   options:UIViewAnimationOptionTransitionCrossDissolve 
                animations:^{
                    // Change the view's state
                } 
                completion:^(BOOL finished) {
                    // Completion block
                }];