目标
尝试NSTransition应用在NSBox setContentView:时的各种转场效果。
示例
我们可以通过设置type和subtype来尝试所有的转场效果。主要有:
- type为给定枚举常量
a. kCATransitionFade淡出
CATransition* transitionFade = [CATransition animation];
transitionFade.duration = 2;
transitionFade.type = kCATransitionFade;
transitionFade.subtype = kCATransitionFromLeft;
CATransition* transitionMoveIn = [CATransition animation];
transitionMoveIn.duration = 1;
transitionMoveIn.type = kCATransitionMoveIn;
transitionMoveIn.subtype = kCATransitionFromLeft;
CATransition* transitionPush = [CATransition animation];
transitionPush.duration = 1;
transitionPush.type = kCATransitionPush;
transitionPush.subtype = kCATransitionFromLeft;
CATransition* transitionReveal = [CATransition animation];
transitionReveal.duration = 2;
transitionReveal.type = kCATransitionReveal;
transitionReveal.subtype = kCATransitionFromLeft;
CATransition* transitionPageCurl = [CATransition animation];
transitionPageCurl.duration = 2;
transitionPageCurl.type = @"pageCurl";
transitionPageCurl.subtype = kCATransitionFromLeft;
CATransition* transitionPageUnCurl = [CATransition animation];
transitionPageUnCurl.duration = 2;
transitionPageUnCurl.type = @"pageUnCurl";
transitionPageUnCurl.subtype = kCATransitionFromLeft;
CATransition* transitionRippleEffect = [CATransition animation];
transitionRippleEffect.duration = 2;
transitionRippleEffect.type = @"rippleEffect";
transitionRippleEffect.subtype = kCATransitionFromLeft;
CATransition* transitionSuckEffect = [CATransition animation];
transitionSuckEffect.duration = 2;
transitionSuckEffect.type = @"suckEffect";
transitionSuckEffect.subtype = kCATransitionFromLeft;
CATransition* transitionCube = [CATransition animation];
transitionCube.duration = 2;
transitionCube.type = @"cube";
transitionCube.subtype = kCATransitionFromLeft;
CATransition* transitionOglFlip = [CATransition animation];
transitionOglFlip.duration = 2;
transitionOglFlip.type = @"oglFlip";
transitionOglFlip.subtype = kCATransitionFromLeft;
参考
Iphone翻页动画效果–CATransition实现