#import "ViewController.h" #import "QuartzCore/QuartzCore.h" @interface ViewController () { UIButton *box ; UIButton *box2 ; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.view.backgroundColor = [UIColor blackColor]; box = [UIButton buttonWithType:UIButtonTypeRoundedRect]; box.frame= CGRectMake(0,0,50,50); [box setTitle:@"hello" forState:UIControlStateApplication]; //box.titleLabel.text = @"hello"; // box = [[UIView alloc]initWithFrame:CGRectMake(10,10,50,50)]; box.backgroundColor = [UIColor yellowColor]; box2= [UIButton buttonWithType:UIButtonTypeRoundedRect]; box2.frame= CGRectMake(0,0,50,50); [box2 setTitle:@"hello" forState:UIControlStateApplication]; //box.titleLabel.text = @"hello"; // box = [[UIView alloc]initWithFrame:CGRectMake(10,10,50,50)]; box2.backgroundColor = [UIColor yellowColor]; [self.view addSubview: box]; [self.view addSubview: box2]; /** CABasicAnimation *animation = [CABasicAnimation animation]; animation.toValue = (id)[UIColor blueColor].CGColor; animation.duration = 1; animation.autoreverses = YES; [self.view.layer addAnimation:animation forKey:@"backgroundColor"]; */ /** CAKeyframeAnimation *animation = [CAKeyframeAnimation animation]; animation.values = [NSArray arrayWithObjects: //(id)self.view.backgroundColor, (id)[UIColor yellowColor].CGColor, (id)[UIColor greenColor].CGColor, (id)[UIColor blueColor].CGColor, nil]; animation.duration = 4; animation.autoreverses = YES; [self.view.layer addAnimation:animation forKey:@"backgroundColor"]; */ // [box release]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)go:(UIButton *)sender { } - (IBAction)animalTest:(UIButton *)sender { /** [UIView beginAnimations:@"box-animation" context:nil]; [UIView setAnimationDuration:1]; box.backgroundColor = [UIColor redColor]; box.frame = CGRectMake(50, 50, 200, 100); box.alpha = 0.5; [UIView commitAnimations]; */ /** CAKeyframeAnimation *animation = [CAKeyframeAnimation animation]; // animation.repeatCount=100; CGMutablePathRef apath = CGPathCreateMutable(); CGPathMoveToPoint(apath, nil, 20, 20);//move to start point CGPathAddCurveToPoint(apath, nil, 160, 30, 220, 220, 300, 30); animation.path =apath; animation.duration = 2; animation.timingFunction = [ CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionLinear]; animation.rotationMode = kCAAnimationRotateAutoReverse;//kCAAnimationRotateAuto; //animation.autoreverses = YES; CAKeyframeAnimation *animation2 = [CAKeyframeAnimation animation]; // animation2.repeatCount=100; animation2.path =apath; animation2.duration = 2; animation2.timingFunction = [ CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionLinear]; animation2.rotationMode = kCAAnimationRotateAuto;//kCAAnimationRotateAuto; //animation2.autoreverses = YES; [box.layer addAnimation:animation forKey:@"position"]; [box2.layer addAnimation:animation2 forKey:@"position"]; CFRelease(apath) ; */ //创建Y轴旋转动画 CABasicAnimation *flip = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"]; flip.toValue = [NSNumber numberWithDouble:3.14]; // flip.autoreverses = YES; //缩放动画 CABasicAnimation *scale = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; scale.toValue = [NSNumber numberWithDouble:.5]; scale.duration = 0.5; scale.autoreverses = YES; //将缩放动画与反转动画合成 CAAnimationGroup *group = [CAAnimationGroup animation]; group .animations = [NSArray arrayWithObjects:flip,scale, nil]; group.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut] ; group.duration = 1; // group.autoreverses = YES; group.fillMode = kCAFillModeForwards; group.removedOnCompletion = NO ; [self.view.layer addAnimation:group forKey:@"flip"]; } @end
相关推荐
- [iOS动画和特效(一)UIView动画和CoreAnimation](http://liuyanwei.jumppo.com/2015/10/30/iOS-Animation-UIViewAndCoreAnimation.html) - [iOS动画和特效(二)UIKit力学行为]...
"iOS动画-animation1"可能是一个关于如何在iOS应用中创建和使用基本动画的教程或项目示例。在这里,我们将深入探讨iOS动画的基础知识,包括Core Animation、UIView动画以及CAAnimation的相关概念。 1. **Core ...
在iOS开发中,扇形动画菜单是一种常见的交互设计,它为用户提供了一种独特且吸引人的方式来展示和选择功能选项。这种菜单通常以一个中心点展开,呈现出扇形的效果,伴随着优雅的过渡动画,增强用户体验。本文将深入...
在iOS开发中,动画是提升用户体验的关键因素之一。"IOS核心动画-左右摆动Demo"是一个展示如何使用Core Animation框架创建一个图片左右摆动效果的示例。Core Animation是Apple为iOS和macOS平台提供的一个低级动画系统...
首先,我们需要理解iOS动画的基础。iOS中的动画主要基于Core Animation框架,这是一个强大的2D图形渲染系统,它可以创建出流畅、高性能的视觉效果。在Xcode项目中,我们通常会使用`UIView`类或其子类的`...
在iOS开发中,创建引人入胜的用户体验是至关重要的,而“iOS根据声波曲线动画”就是一个很好的示例,它结合了音频处理与动画效果...这个项目不仅展示了iOS开发中的音频处理能力,也展现了iOS动画设计的灵活性和创造性。
在iOS开发中,启动动画(Launch Animation)是应用程序在启动时为了提高用户体验而展示的一种视觉效果。"ios-启动动画.zip"可能包含了一个用于iOS应用的启动动画资源和实现代码,用于在X7.1版本的系统上运行。在iOS...
首先,iOS动画主要基于Core Animation框架,这是一个强大的2D图形渲染引擎,能够实现平滑、高效的动画效果。在iOS中,有两种主要类型的动画:视图动画(UIView animation)和层动画(CALayer animation)。视图动画...
在iOS开发中,过渡动画(Transition Animation)是用户体验设计中的一个重要组成部分,它们为用户界面的交互增添生动性和吸引力。过渡动画不仅仅是美观的装饰,更是帮助用户理解应用操作流程、导航结构以及状态变化...
"iOS动画源码"这个主题深入探讨了iOS系统中的动画实现技术,包括Core Animation、UIKit Dynamics以及自定义动画等。这里我们将详细解析这些动画技术,并提供相关的源码实践。 一、Core Animation Core Animation是...
在iOS开发中,动画是提升用户体验的关键因素,它能让用户界面更加生动有趣。...通过研究"moveAndscale"这个示例,开发者可以学习到iOS动画的基础和高级技巧,从而在自己的应用中实现丰富的视觉效果。
"iOS动画梦幻星空"是一个项目,旨在模仿音乐应用《唱吧》启动时的星空闪烁效果。这个效果通过使用Core Animation框架中的CAEmitterLayer实现,为用户带来视觉上的梦幻感受,星星闪烁如同夜空中繁星点点,营造出一种...
这个名为“一个动画效果”的压缩包文件,可能包含了一个简单的iOS动画示例,我们可以从中学习到基本的动画操作。 在iOS中,有两种主要的动画技术:Core Animation和UIKit Dynamics。Core Animation是Apple提供的...
在iOS开发中,动画是提升用户体验的关键因素之一。本示例着重探讨了如何使用`catransition`来创建一个立方体效果的动画。`catransition`是Core Animation框架的一部分,它主要用于视图控制器(UIViewController)...
"swift-iOS动画库的精选列表"是一个汇集了优秀Swift动画库的资源集合,旨在帮助开发者们在项目中引入高质量的动画效果。 首先,我们要了解Swift中的动画基础。Swift内置了UIKit框架,其中`UIView`类包含了基本的...
在iOS开发中,动画是提升用户体验的关键因素,它能让用户界面更加生动有趣。本文将深入探讨iOS中的两种主要动画技术:UIKit动画和Core Animation动画。...在实践中不断探索和实验,是掌握iOS动画技术的关键。
《Swift中的iOS动画集合库——Spring深度解析》 在iOS应用开发中,动画效果往往能够提升用户体验,使得交互更加生动有趣。"实用,易用的 iOS 动画集合库.zip" 提供了一个名为Spring的开源项目,专为Swift开发者设计...
在iOS开发中,动画是提升用户体验的关键元素之一。位移动画和渐隐渐现动画是两种常见的动画效果,它们能够使界面更具动态感,让用户在交互时感到更加舒适和流畅。下面将详细介绍如何在iOS中实现这两种动画效果,并...
14. **Animation Best Practices**: 包括性能优化、避免阻塞主线程、合理使用动画队列等,都是iOS动画开发中需要注意的关键点。 综上所述,"iOS界面动画大全"可能包含了以上诸多方面的知识,通过学习和实践,开发者...
Hero的开源特性意味着开发者可以查看其源代码,了解底层实现,这对于学习iOS动画编程和优化性能非常有帮助。同时,社区支持和持续更新也是开源项目的一大优势,开发者可以利用GitHub等平台提出问题、报告bug、请求新...