今天写了一下关于导航栏切换时的不同的效果,直接上代码:
下面是在第一个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]; }
时间: 2024-11-01 21:21:12