美文网首页
app启动图的渐变

app启动图的渐变

作者: 7dfa9c18c1d1 | 来源:发表于2016-04-14 11:51 被阅读195次
    主要是写登录图
    • 如果现在不明白当时说这句话的意思了,可以去搜搜百度云app,看看他们的登录效果,现在要做的就是实现那种效果(一开始一张图片,后来出现第二张图片(第二张图片实时变化))
    原理
    • 在LaunchScreen.storyboard中放一张底图,然后在控制器中获取到LaunchScreen的VC上的view,直接在view上再添加一张需要根据条件展示的图片,最后把view添加在控制器的view上就可以

    • 我语言表达能力差,还是看代码吧

    - (void)viewDidLoad {
        [super viewDidLoad];
        
        UIViewController *viewController = [[UIStoryboard storyboardWithName:@"LaunchScreen" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"LaunchScreen"];
        UIView *launchView = viewController.view;
        UIImageView  * Imageview= [[UIImageView  alloc]initWithFrame:[UIScreen mainScreen].bounds];
        Imageview.image = [UIImage imageNamed:@"baidu2"];
        [launchView addSubview:Imageview];
        [self.view addSubview:launchView];
        
        
        [UIView animateWithDuration:6.0f delay:0.0f options:UIViewAnimationOptionBeginFromCurrentState animations:^{
    //        launchView.layer.transform = CATransform3DRotate(CATransform3DIdentity, M_PI_4, 1.5f, 1.5f, 1.5f);
            launchView.transform = CGAffineTransformMakeTranslation(0.0f, 0.1f);
        } completion:^(BOOL finished) {
            
            UIImageView *imgViewAd = [[UIImageView alloc] init];
            imgViewAd.frame = [UIScreen mainScreen].bounds;
            imgViewAd.image = [UIImage imageNamed:@"me"];
            [[UIApplication sharedApplication].keyWindow addSubview:imgViewAd];
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                [UIView animateWithDuration:.25
                                 animations:^{
                                     imgViewAd.alpha = 0.0f;
                                 }
                                 completion:^(BOOL finished) {
                                     [imgViewAd removeFromSuperview];
                                 }];
            });
            [launchView removeFromSuperview];
        }];
        
    }
    
    
    
    • 代码如上
    补充

    最后那个动画方法,好像里面不设置下launchView的形变,就直接不显示launchView上后添加的图片(其实是时间太快,我们没有来得及看到),所以我想了这个笨方法,设置下LaunchView的形变,不明显的形变

    • 3D和2D:3D是在layer上设置的,2D是在view上直接添加的,他们原理上和方法上还是很相同的

    • 上面的代码中第二张图片可以网络获取,这样就能做到实时更新了

    相关文章

      网友评论

          本文标题:app启动图的渐变

          本文链接:https://www.haomeiwen.com/subject/uayglttx.html