界面切换动画(CATransition实现 )

本文介绍如何使用CATransition来实现各种动画效果,包括淡入淡出、翻页等,并提供了具体的代码实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调用

// CATransition动画实现
    [self pushWithAnimationType:@"fade"];

 

- (void)pushWithAnimationType:(NSString *)typeStr
{
    __weak typeof (self) weakself = self;
    [weakself.navigationController.view.layer addAnimation:[self createTransitionAnimation:typeStr] forKey:nil];
}
#pragma CATransition动画实现
/**
 动画类型
 fade 淡出效果
 moveIn 新视图移动到旧视图
 push 新视图推出旧视图
 reveal 移开旧视图
 cube 立方体翻转效果
 oglFlip 翻转效果
 suckEffect 收缩效果
 rippleEffect 水滴波纹效果
 pageCurl 向下翻页
 pageUnCurl 向上翻页
 CameraIrisHollowOpen, 开镜头
 CameraIrisHollowClose, 关镜头
 CurlDown,              下翻页
 CurlUp,                 上翻页
 FlipFromLeft,           左翻转
 FlipFromRight,          右翻转
 */
-(CATransition *)createTransitionAnimation:(NSString*)typeStr
{
    //切换之前添加动画效果
    //后面知识: Core Animation 核心动画
    //不要写成: CATransaction
    //创建CATransition动画对象
    CATransition *animation = [CATransition animation];
    //设置动画的类型:
    animation.type = typeStr;
    //设置动画的方向
    animation.subtype = kCATransitionFromBottom;
    //设置动画的持续时间
    animation.duration = 1.5;
    //设置动画速率(可变的)
    animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    //动画添加到切换的过程中
    return animation;
}

 

转载于:https://www.cnblogs.com/dujiahong/p/9355261.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值