如何在iphone上更改视图时解散动画?

Dmi*_*try 11 iphone animation cocoa-touch objective-c ios

如何在iphone中更改视图时解散动画?

溶解效果:一个视图正在改变另一个视图而没有任何移动.

非常感谢您的帮助!

Ash*_*lls 20

您正在寻找的动画是:

[UIView animateWithDuration: 1.0
                 animations:^{
                     view1.alpha = 0.0;
                     view2.alpha = 1.0;
                 }];
Run Code Online (Sandbox Code Playgroud)

使用该动画的更完整的解决方案可能是:

- (void) replaceView: (UIView *) currentView withView: (UIView *) newView
{
    newView.alpha = 0.0;
    [self.view addSubview: newView];

    [UIView animateWithDuration: 1.0
                     animations:^{
                         currentView.alpha = 0.0;
                         newView.alpha = 1.0;
                     } 
                     completion:^(BOOL finished) {
                         [currentView removeFromSuperview];
                     }];
}
Run Code Online (Sandbox Code Playgroud)


Ara*_*han 18

您还可以在ios5及更高版本中使用UIViewAnimationOptionTransitionCrossDissolve ...

[UIView transitionFromView:currentView
                    toView:nextView
                  duration:2
                   options:UIViewAnimationOptionTransitionCrossDissolve 
                completion:^(BOOL finished) {
                    [currentView removeFromSuperview];
                    }];
Run Code Online (Sandbox Code Playgroud)