IOS 转场动画二和透明控制器视图

 一、透明视图控制器

WJListMenuViewController *VC = [[WJListMenuViewController alloc]init];
VC.modalPresentationStyle = UIModalPresentationOverCurrentContext;
VC.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.4];
//设置模态视图弹出样式
VC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

 

二、动画

//创建动画
        CATransition * transition = [CATransition animation];
        //设置动画类型(这个是字符串,可以搜索一些更好看的类型)
        /*
         kCATransitionFade   交叉淡化过渡
         kCATransitionMoveIn 新视图移到旧视图上面
         kCATransitionPush   新视图把旧视图推出去
         kCATransitionReveal 将旧视图移开,显示下面的新视图
         @"pageCurl"            向上翻一页
         @"pageUnCurl"          向下翻一页
         @"rippleEffect"        滴水效果
         @"suckEffect"          收缩效果,如一块布被抽走
         @"cube"                立方体效果
         @"oglFlip"             上下翻转效果
         moveOut
         */
        transition.type = kCATransitionFade;
        //动画出现类型
        /*
         kCATransitionFromRight
         
         kCATransitionFromLeft
         
         kCATransitionFromTop
         
         kCATransitionFromBottom
         fromCenter
         */
        transition.subtype = kCATransitionFromLeft;
        //动画时间
        transition.duration = 1;
        //移除当前window的layer层的动画
        [self.view.window.layer removeAllAnimations];
        //将定制好的动画添加到当前控制器window的layer层
        [self.view.window.layer addAnimation:transition forKey:nil];
        
        [self presentViewController:nav animated:YES completion:nil];

 

posted @ 2018-08-09 14:34  宁静暖风  阅读(219)  评论(0编辑  收藏  举报