0
点赞
收藏
分享

微信扫一扫

【macOS】NSTransitiion实现NSView切换动画

莞尔小迷糊 2022-04-29 阅读 41

目标

尝试NSTransition应用在NSBox setContentView:时的各种转场效果。


示例

我们可以通过设置type和subtype来尝试所有的转场效果。主要有:

  1. 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实现

举报

相关推荐

0 条评论