过场动画

简单的动画:
Core Animation是SDK四层结构中的第二层Media层中的重要组成部分,Quartz在这一层,而Core Animation位于Quartz之上,与Quartz的C语言函数库不同,它是基于Quartz的Objective-C封装。
所有的视图UIView 都有一个layer属性,即是CALayer对象,CALayer是Core Animation的基础。所有的Core Animation 动画都是基于CALayer的。CALayer的属性有(anchorPoint,backgroundColor,opacity,position,transform)
Core Animation 有两种动画类型:隐式动画 和显式动画
1.隐式动画(不需要显式的创建CABasicAnimation或CAAnimation对象)只需要在“动画块”中修改CALayer的属性:
(1)一个最简单示例
  [UIView beginAnimations:nil context:NULL];//1.标志“动画快"的开始
    CGAffineTransform moveTransform = CGAffineTransformMakeTranslation(200, 200);//2.创建一个放射变换对象。
    [self.baseView.layer setAffineTransform:moveTransform];//3.修改CALayer的transform属性
    self.baseView.layer.opacity = 1;//修改CALayer的opacity属性(动画效果是渐变)
    [UIView setAnimationDuration:1.0f];//4.设置动画持续时间,
    [UIView commitAnimations];//5.动画快结束标志,
(2)再给一个示例:这个例子是使用Block块,其中添加动画方法。
[UIView animateWithDuration:0.5 animations:^{
       [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.window cache:NO];
        } completion:^(BOOL finished) {
      [_loadImgView removeFromSuperview];
  }];
(3)再来一个,这个实现程序退出,并结合了两个的功能中使用到的方法
#pragma mark - 退出程序动画操作
-(void)exitApplication{
    [UIView beginAnimations:@"exitApplication" context:nil];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationDelegate:self];
    UIWindow *win = [[UIApplication sharedApplication].windows objectAtIndex:0];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:win cache:NO];
    [UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];
    win.bounds = CGRectMake(0, 0, 0, 0);
    [UIView commitAnimations];
}
-(void)animationFinished:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context{
    if ([animationID compare:@"exitApplication"]==0) {
        exit(0);
    }
}
2.显式动画(需要显式地定义一个CABasicAnimation或CAAnimation对象来执行动画,其中有CABasicAnimation:CAPropertyAnimation,而CAPropertyAnimation:CAAnimation,CATransition:CAAnimation)
CATransition* transition = [CATransition animation];
    transition.duration = 0.5;
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    transition.type = kCATransitionPush; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade//动画类型设置
    transition.subtype = kCATransitionFromTop; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom//动画开始点设置,动画开始方向设置。
    [self.navigationController.view.layer addAnimation:transition forKey:nil];
    [self.navigationController pushViewController:vc animated:NO];
以上动画都是过场性的,也就是说不是连续的持久的动画,能够满足页面跳转,界面显示等常见的功能,这部分的参考文档可以查看链接:http://www.open-open.com/lib/view/open1372152939072.html

过场动画

时间: 2024-10-24 04:37:41

过场动画的相关文章

iOS过场动画调研笔记

前言 因项目需要,最近一段时间都在调研iOS的过场动画.对于我来说这是一个之前没有太涉及的领域,所以有必要把调研的过程和自己的一些理解纪录下来 为什么要自定义过场动画? 如果大家有关注Material Design和最近一些知名App(如快的.一号专车等)的界面设计和交互的变化,就会发现一种新的趋势:平滑的页面过渡.目的旨在于让用户尽量少地感觉到页面之间生硬的切换,从而使App的体验更加流畅.而iOS原生的两种常用过场:Push/Pop和Present,和目前流行的趋势显然是不太符合的,所以自定

unity过场动画组件Timeline

Timeline是Unity2017版本中新加入的功能,可以非常方便的进行场景动画的创建和修改,包括物体.声音.粒子.动画.特效.自定义Playable以及子Timeline等多种资源进行整合,从而能够较方便的生成效果很棒的场景动画,同时可以通过Unity的Recorder资源包录制较为完整的视频并导出. 1.Timeline界面简单介绍 在Unity2017中,点击Window->Timeline即可调出Timeline面板.如下图所示: 在该面板中,可以创建多种类型的片段,如果你导入Asse

虚幻4过场动画编辑器Sequencer脑图

引擎设计跟踪(九.14.2b) 骨骼动画基本完成

首先贴一个介绍max的sdk和骨骼动画的文章, 虽然很早的文章, 但是很有用, 感谢前辈们的贡献: 3Ds MAX骨骼动画导出插件编写 1.Dual Quaternion 关于Dual Quaternion, 这里不做太详细的介绍了,贴出来几个链接吧: http://en.wikipedia.org/wiki/Dual_quaternion http://www.seas.upenn.edu/~ladislav/kavan08geometric/kavan08geometric.pdf http

[deviceone开发]-打开新页动画效果

一.简介 do_App的openPage支持16种过场动画,这个示例直观的展示16种动画的效果.适合初学者. 二.效果图 三.相关下载 https://github.com/do-project/code4do/tree/master/open_animation 四.相关讨论 http://bbs.deviceone.net/forum.php?mod=viewthread&tid=593 五.更多案例 http://source.deviceone.net 六.关于DeviceOne htt

IOS 自定义转场动画

1,firstVCView 为你当前view 2,secondVCView 为你需要跳转到的view 3,viewCon 同第二项不要传入view直接传入对象即可.  *这里是调用   UIViewObject  为你要跳转的类  id是你需要传递的值 let view = UIViewObject()  view.id = self.id self.performAnimationBack(self.view, secondVCView: lineList.view, viewCon: lin

[deviceone开发]-openPage的动画效果示例

一.简介do_App的openPage支持16种过场动画,这个示例直观的展示16种动画的效果.适合初学者.二.效果图三.相关下载https://github.com/do-project/code4do/tree/master/open_animation四.相关讨论http://bbs.deviceone.net/forum.php?mod=viewthread&tid=593五.更多案例http://source.deviceone.net/六.关于DeviceOnehttp://www.d

【最终幻想15 国王之剑】制作介绍1:不再是游戏动画,而是“电影”制作

日文链接:http://cgworld.jp/interview/201606-kgffxv-01intro.html [最终幻想]系列在全世界有着累计销售1亿1500万份的成绩.用与最新的游戏[最终幻想15(FFXV)]同样的世界,事件,角色来描绘的长篇剧场动画[最终幻想15 国王之剑]公开了.包括史克威尔艾尼克斯的第2商务部在内,约50个国内外的强力工作室协作的前作未有的挑战.来看看这些的幕后信息吧. [最终幻想15 国王之剑]的预告视频 STRATEGY:不是游戏动画,而是“电影”制作 [

[deviceone开发]-do_Viewshower的动画效果示例

一.简介 do_Viewshower组件也支持View之间的过场动画,支持大概12种,这个示例随机的切换12种动画中的一种,而且每次切换的动画时间不一样.直观的展示12种动画的效果.适合初学者. 二.效果图 三.相关下载 https://github.com/do-project/code4do/tree/master/viewshower_animation 四.相关讨论 http://bbs.deviceone.net/forum.php?mod=viewthread&tid=128 五.更