导航控制器切换时动画效果

今天写了一下关于导航栏切换时的不同的效果,直接上代码:

下面是在第一个Vc的touches方法进行切换的.

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    
//    CATransition 有很多类型:@"rippleEffect", @"cube", @"moveln", @"reveal", @"fade(默认模式)", @"pageCurl", @"pageUnCurl", @"suckEffect", @"oglFlip"; 切换不同的类型,换不同的动画效果;
    
    //定义一个动画变换类型, 类方法获取动画对象
    CATransition *amin = [CATransition animation];
    //设置动画的时间长度
    amin.duration = 1;
    //设置动画的类型,决定动画的效果形式
    amin.type = @"rippleEffect";
    //设置动画的子类型,例如动画的方向.
    amin.subtype = kCATransitionFromRight;
    //设置动画的轨迹模式.
    amin.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
    //将动画设置对象添加到动画上
    [self.navigationController.view.layer addAnimation:amin forKey:nil];
    
    //当前的Vcpush到下一个Vc
    [self.navigationController pushViewController:[SecondViewController new] animated:YES];
}
原文地址:https://www.cnblogs.com/LzwBlog/p/5666807.html