ios各种动画效果

ios各种动画效果

最普通动画: 
//开始动画 
[UIView beginAnimations:nil context:nil];  
//设定动画持续时间 
[UIView setAnimationDuration:2]; 
//动画的内容 
frame.origin.x += 150; 
[img setFrame:frame]; 
//动画结束 
[UIView commitAnimations];

连续动画:一个接一个地显示一系列的图像 
NSArray *myImages = [NSArray arrayWithObjects: 
[UIImage imageNamed:@"myImage1.png"], 
[UIImage imageNamed:@"myImage2.png"], 
[UIImage imageNamed:@"myImage3.png"], 
[UIImage imageNamed:@"myImage4.gif"], nil];

UIImageView *myAnimatedView = [UIImageView alloc]; 
[myAnimatedView initWithFrame:[self bounds]]; 
myAnimatedView.animationImages = myImages; //animationImages属性返回一个存放动画图片的数组 
myAnimatedView.animationDuration = 0.25; //浏览整个图片一次所用的时间 
myAnimatedView.animationRepeatCount = 0; // 0 = loops forever 动画重复次数 
[myAnimatedView startAnimating]; 
[self addSubview:myAnimatedView]; 
[myAnimatedView release];

CATransition Public API动画: 
CATransition *animation = [CATransition animation]; 
//动画时间 
    animation.duration = 0.5f; 
//先慢后快 
    animation.timingFunction = UIViewAnimationCurveEaseInOut; 
animation.fillMode = kCAFillModeForwards; 
//animation.removedOnCompletion = NO;

//各种动画效果 
/* 
kCATransitionFade; 
kCATransitionMoveIn; 
kCATransitionPush;z 
kCATransitionReveal; 
*/ 
/* 
kCATransitionFromRight; 
kCATransitionFromLeft; 
kCATransitionFromTop; 
kCATransitionFromBottom; 
*/ 
//各种组合 
animation.type = kCATransitionPush; 
animation.subtype = kCATransitionFromRight;

[self.view.layer addAnimation:animation forKey:@"animation"];

CATransition Private API动画: 
animation.type可以设定为以下效果 
动画效果汇总: 
/* 
suckEffect(三角)

rippleEffect(水波抖动)

pageCurl(上翻页)

pageUnCurl(下翻页)

oglFlip(上下翻转)

cameraIris/cameraIrisHollowOpen/cameraIrisHollowClose  (镜头快门,这一组动画是有效果,只是很难看,不建议使用

而以下为则黑名单:

spewEffect: 新版面在屏幕下方中间位置被释放出来覆盖旧版面.

- genieEffect: 旧版面在屏幕左下方或右下方被吸走, 显示出下面的新版面 (阿拉丁灯神?).

- unGenieEffect: 新版面在屏幕左下方或右下方被释放出来覆盖旧版面.

- twist: 版面以水平方向像龙卷风式转出来.

- tubey: 版面垂直附有弹性的转出来.

- swirl: 旧版面360度旋转并淡出, 显示出新版面.

- charminUltra: 旧版面淡出并显示新版面.

- zoomyIn: 新版面由小放大走到前面, 旧版面放大由前面消失.

- zoomyOut: 新版面屏幕外面缩放出现, 旧版面缩小消失.

- oglApplicationSuspend: 像按"home" 按钮的效果. 
*/

UIView Animations 动画: 
[UIView beginAnimations:@"animationID" context:nil]; 
[UIView setAnimationDuration:0.5f]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationRepeatAutoreverses:NO]; 
//以下四种效果 
/* 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];//oglFlip, fromLeft 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];//oglFlip, fromRight  
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES]; 
*/

[self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0]; 
[UIView commitAnimations]; 
IOS4.0新方法: 
方法: +(void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations; 
+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion; //多一个动画结束后可以执行的操作. 
//下边是嵌套使用,先变大再消失的动画效果. 
[UIView animateWithDuration:1.25 animations:^{ 
CGAffineTransform newTransform = CGAffineTransformMakeScale(1.2, 1.2); 
[firstImageView setTransform:newTransform]; 
[secondImageView setTransform:newTransform];} 
completion:^(BOOL finished){ 
[UIView animateWithDuration:1.2 animations:^{ 
[firstImageView setAlpha:0]; 
[secondImageView setAlpha:0];} completion:^(BOOL finished){ 
[firstImageView removeFromSuperview]; 
[secondImageView removeFromSuperview]; }]; 
}];

时间: 2024-12-25 13:14:09

ios各种动画效果的相关文章

iOS的动画效果类型及实现方法

实现iOS漂亮的动画效果主要有两种方法, 一种是UIView层面的, 一种是使用CATransition进行更低层次的控制, 第一种是UIView,UIView方式可能在低层也是使用CATransition进行了封装,它只能用于一些简单的.常用的效果展现,这里写一个常用的示例代码,供大家参考. [UIView beginAnimations:@"Curl"context:nil];//动画开始 [UIView setAnimationDuration:0.75]; [UIView se

iOS 之动画效果

/** type *  各种动画效果  其中除了'fade', `moveIn', `push' , `reveal' ,其他属于私有的API. *  ↑↑↑上面四个可以分别使用'kCATransitionFade', 'kCATransitionMoveIn', 'kCATransitionPush', 'kCATransitionReveal'来调用. *  @"cube"                     立方体翻滚效果 *  @"moveIn"    

IOS开动画效果之──实现 pushViewController 默认动画效果

在开发中,视图切换会常常遇到,有时我们不是基于导航控制器的切换,但实际开发中,有时需要做成push效果,下面将如何实现push和pop 默认动画效果代码实例: 一.push默认动画效果 CATransition *transition = [CATransition animation]; transition.duration = 0.3f; transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMedia

iOS简单动画效果:闪烁、移动、旋转、路径、组合

#define kDegreesToRadian(x) (M_PI * (x) / 180.0) #define kRadianToDegrees(radian) (radian*180.0)/(M_PI) - (void)viewDidLoad { [superviewDidLoad]; self.title = @"测试动画"; self.view.backgroundColor = [UIColorlightGrayColor]; myTest1 = [[UILabelalloc

ios animation 动画效果实现

1.过渡动画 CATransition CATransition *animation = [CATransition animation]; [animation setDuration:1.0]; [animation setType:kCATransitionFade]; [animation setSubtype:kCATransitionFromLeft]; [_imgPic.layer addAnimation:animation forKey:nil]; 说明: (1).Durat

iOS火焰动画效果、图文混排框架、StackView效果、偏好设置、底部手势等源码

iOS精选源码 高性能图文混排框架,构架顺滑的iOS应用. 使用OpenGLE覆盖阿尔法通道视频动画播放器视图. 可选最大日期截至当日日期的日期轮选器ChooseDatePicker 简单轻量的图片浏览器YCPhotoBrower 使用偏好设置.属性列表.归档解档保存数据.恢复数据 页面底部手势交互滚动UITableView 使用CoreAnimation来模拟iOS中的StackView. 盒子可以更具长宽高变化的动画 iOS优质博客 iOS导航栏使用总结 目录:一.设置导航栏样式二.自定义导

iOS UIView动画效果 学习笔记

CGRect frame = _confirmV.frame; [UIView beginAnimations:nil context:nil];//动画定义开始 [UIView setAnimationDuration:0.5];//动画的时长 [UIView setAnimationDelay:0]; [UIView setAnimationDelegate:self]; [UIView setAnimationDidStopSelector:@selector(removeConfirmV

ios 动画效果CATransition笔记

初学ios开发,很多概念还不清楚,所以只有边学边做例子.又怕学了后面忘了前面,因此用自己的博客来纪录自己的学习历程,也是对自己学习不要懈怠做个监督. 刚学ios做动画效果.因为ios封装得很好,实现ios的漂亮动画效果也很简单,却因为我自己的粗心落了一个字母 导致纠结了一天,这个教训必须记住,同时也懂得了调试技能在编程里地位也是非常重要的存在. 实现ios动画有两种方法:一种UIView层面的,一种是使用CATransition. [objc] view plaincopy - (void)vi

iOS点击查看大图的动画效果

对于图片来说,除了表情包,几乎都会被点击查看大图.今天就讲解一个查看和收起大图的动画效果,先直接看效果图: 如图所示,最开始是一个小图,点击小图可以查看大图.大图会从小图的位置和大小"弹"出来,同时背景变成半透明的阴影.点击大图或者阴影后,收起大图,同样地弹回到小图去,同时去掉阴影背景,就像是一张图片在伸大缩小一样. 现在看看这是怎么实现的.在思考一个动画的实现方法时,把动画的动作进行分解然后再一个个去思考怎么实现是一个好的习惯,我们稍微分解一下,这个动画在显示大图和收起大图的时候做了