IOS启动页动画(uiview 淡入淡出效果 )2

Appdelegate里面右个这个函数,只要它没结束,你的等待界面就不会消失。
以在启动的时候做些动画

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    

    // Override point for customization after application launch.

    [window addSubview:viewController.view];

    [self.window makeKeyAndVisible];

 

//装载启动页的视图
    imgview=[[UIImageView alloc]initWithFrame:self.window.frame];
    imgview.image=[UIImage imageNamed:@"Default"];
    imgview.alpha = 0.0;
    [bgView addSubview:imgview];
    
    //动画--淡入
    [UIView beginAnimations:nil context:nil];//标记动画块开始
    [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];//定义动画加速和减速方式
    [UIView setAnimationDuration:0.5];//动画时长
    [UIView setAnimationDelegate:self];
    imgview.alpha = 1.0;
    //动画结束后回调方法
    [UIView setAnimationDidStopSelector:@selector(showArrowDidStop:finished:context:)];
    [UIView commitAnimations];//标志动滑块结束

 

    return YES;

}

//动画--淡出
-(void)hiddenAnimation
{
    [UIView animateWithDuration:0.5 animations:^{
        imgview.alpha=0.0;
    } completion:^(BOOL finished) {
        [imgview removeFromSuperview];
        [bgView removeFromSuperview];
    }];
//    [UIView beginAnimations:@"HideArrow" context:nil];
//    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
//    [UIView setAnimationDuration:0.5];
//    [UIView setAnimationDelay:1.0];
//    imgview.alpha = 0.0;
//    [UIView commitAnimations];
}

- (void)showArrowDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context
{
    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(hiddenAnimation) userInfo:Nil repeats:NO];
}

原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/8488745.html