1、转场动画简单介绍
CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点
UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果
属性解析:
type:动画过渡类型
subtype:动画过渡方向
startProgress:动画起点(在整体动画的百分比)
endProgress:动画终点(在整体动画的百分比)
2、转场动画效果类型
3、图片浏览器的转场动画效果
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *iconView;
// 图片索引
@property (nonatomic,assign) int index;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.index = 1;
}
- (IBAction)previousImageAnimation:(UIButton *)sender {
self.index--;
if (self.index<1) {
self.index=11;
}
self.iconView.image=[UIImage imageNamed: [NSString stringWithFormat:@"%03d.jpg",self.index]];
//创建核心动画
CATransition *caanimation=[CATransition animation];
//告诉要执行什么动画
//设置过度效果
caanimation.type=@"cube";
//设置动画的过度方向(向左)
caanimation.subtype=kCATransitionFromLeft;
//设置动画的时间
caanimation.duration=2.0;
//添加动画
[self.iconView.layer addAnimation:caanimation forKey:nil];
}
- (IBAction)nextImageAnimation:(UIButton *)sender {
self.index++;
if (self.index>11) {
self.index = 1;
}
self.iconView.image=[UIImage imageNamed: [NSString stringWithFormat:@"%03d.jpg",self.index]];
//创建核心动画
CATransition *caanimation=[CATransition animation];
//告诉要执行什么动画
//设置过度效果
caanimation.type=@"cube";
//设置动画的过度方向(向右)
caanimation.subtype=kCATransitionFromRight;
//设置动画的时间
caanimation.duration=2.0;
//添加动画
[self.iconView.layer addAnimation:caanimation forKey:nil];
}
@end