实现的主要代码如下:
CATransition *transition = [CATransition animation];
transition.duration = 1.0f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = @"cube";
transition.subtype = kCATransitionFromRight;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
FirstViewController *firstViewController = [[DemoViewController alloc]init];
[self.navigationController pushViewController: firstViewController animated:YES];
其中的动画类型有:
- animation.type = kCATransitionFade;
- animation.type = kCATransitionPush;
- animation.type = kCATransitionReveal;
- animation.type = kCATransitionMoveIn;
- animation.type = @"cube";
- animation.type = @"suckEffect";
- animation.type = @"oglFlip"; // 页面旋转
- animation.type = @"rippleEffect"; //水波纹
- animation.type = @"pageCurl";
- animation.type = @"pageUnCurl";
- animation.type = @"cameraIrisHollowOpen";
- animation.type = @"cameraIrisHollowClose";
返回按钮的动画实现事件
- // 修改导航栏的 左边的标题
- self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIButtonTypeRoundedRect target:self action:@selector(back)];