CATransition是一个过渡动画。你可以使用一些预定义好的过渡动画效果或者使用一个CIFilter(滤镜)实例来实现。例如
- (void)transitionAnimation{
UIView *keyPathAnimationView = [[UIView alloc] initWithFrame:CGRectMake(100, 300, 100, 100)];
keyPathAnimationView.backgroundColor = [UIColor blackColor];
[self.view addSubview:keyPathAnimationView];
CATransition *transaction = [CATransition animation];
//transition的类型 包含kCATransitionFade淡化、(kCATransitionMoveIn推挤、kCATransitionPush揭开、kCATransitionReveal覆盖)这三种subtype有效
transaction.type = kCATransitionMoveIn;
//transition的子类型 包含kCATransitionFromTop从顶部到底部、kCATransitionFromLeft从左到右、kCATransitionFromRight从右边出来、kCATransitionFromBottom到底部
transaction.subtype = kCATransitionFromRight;
transaction.duration = 5;
//动画开始进度
transaction.startProgress = 0;
//动画结束进度
transaction.endProgress = 1.;
[keyPathAnimationView.layer addAnimation:transaction forKey:nil];
}