`
01jiangwei01
  • 浏览: 543035 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iOS 动画一

    博客分类:
  • IOS
 
阅读更多
#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-iOS动画和特效demo.zip

    - [iOS动画和特效(一)UIView动画和CoreAnimation](http://liuyanwei.jumppo.com/2015/10/30/iOS-Animation-UIViewAndCoreAnimation.html) - [iOS动画和特效(二)UIKit力学行为]...

    iOS动画-animation1

    "iOS动画-animation1"可能是一个关于如何在iOS应用中创建和使用基本动画的教程或项目示例。在这里,我们将深入探讨iOS动画的基础知识,包括Core Animation、UIView动画以及CAAnimation的相关概念。 1. **Core ...

    ios扇形动画菜单

    在iOS开发中,扇形动画菜单是一种常见的交互设计,它为用户提供了一种独特且吸引人的方式来展示和选择功能选项。这种菜单通常以一个中心点展开,呈现出扇形的效果,伴随着优雅的过渡动画,增强用户体验。本文将深入...

    IOS核心动画-左右摆动Demo

    在iOS开发中,动画是提升用户体验的关键因素之一。"IOS核心动画-左右摆动Demo"是一个展示如何使用Core Animation框架创建一个图片左右摆动效果的示例。Core Animation是Apple为iOS和macOS平台提供的一个低级动画系统...

    IOS动画——文字书写效果

    首先,我们需要理解iOS动画的基础。iOS中的动画主要基于Core Animation框架,这是一个强大的2D图形渲染系统,它可以创建出流畅、高性能的视觉效果。在Xcode项目中,我们通常会使用`UIView`类或其子类的`...

    iOS 根据声波 曲线动画

    在iOS开发中,创建引人入胜的用户体验是至关重要的,而“iOS根据声波曲线动画”就是一个很好的示例,它结合了音频处理与动画效果...这个项目不仅展示了iOS开发中的音频处理能力,也展现了iOS动画设计的灵活性和创造性。

    ios-启动动画.zip

    在iOS开发中,启动动画(Launch Animation)是应用程序在启动时为了提高用户体验而展示的一种视觉效果。"ios-启动动画.zip"可能包含了一个用于iOS应用的启动动画资源和实现代码,用于在X7.1版本的系统上运行。在iOS...

    iOS动画测试

    首先,iOS动画主要基于Core Animation框架,这是一个强大的2D图形渲染引擎,能够实现平滑、高效的动画效果。在iOS中,有两种主要类型的动画:视图动画(UIView animation)和层动画(CALayer animation)。视图动画...

    IOS过渡动画

    在iOS开发中,过渡动画(Transition Animation)是用户体验设计中的一个重要组成部分,它们为用户界面的交互增添生动性和吸引力。过渡动画不仅仅是美观的装饰,更是帮助用户理解应用操作流程、导航结构以及状态变化...

    iOS动画源码

    "iOS动画源码"这个主题深入探讨了iOS系统中的动画实现技术,包括Core Animation、UIKit Dynamics以及自定义动画等。这里我们将详细解析这些动画技术,并提供相关的源码实践。 一、Core Animation Core Animation是...

    ios 动画收藏

    在iOS开发中,动画是提升用户体验的关键因素,它能让用户界面更加生动有趣。...通过研究"moveAndscale"这个示例,开发者可以学习到iOS动画的基础和高级技巧,从而在自己的应用中实现丰富的视觉效果。

    iOS动画梦幻星空

    "iOS动画梦幻星空"是一个项目,旨在模仿音乐应用《唱吧》启动时的星空闪烁效果。这个效果通过使用Core Animation框架中的CAEmitterLayer实现,为用户带来视觉上的梦幻感受,星星闪烁如同夜空中繁星点点,营造出一种...

    ios动画效果

    这个名为“一个动画效果”的压缩包文件,可能包含了一个简单的iOS动画示例,我们可以从中学习到基本的动画操作。 在iOS中,有两种主要的动画技术:Core Animation和UIKit Dynamics。Core Animation是Apple提供的...

    ios 动画,立方体

    在iOS开发中,动画是提升用户体验的关键因素之一。本示例着重探讨了如何使用`catransition`来创建一个立方体效果的动画。`catransition`是Core Animation框架的一部分,它主要用于视图控制器(UIViewController)...

    swift-iOS动画库的精选列表

    "swift-iOS动画库的精选列表"是一个汇集了优秀Swift动画库的资源集合,旨在帮助开发者们在项目中引入高质量的动画效果。 首先,我们要了解Swift中的动画基础。Swift内置了UIKit框架,其中`UIView`类包含了基本的...

    iOS中动画那点事

    在iOS开发中,动画是提升用户体验的关键因素,它能让用户界面更加生动有趣。本文将深入探讨iOS中的两种主要动画技术:UIKit动画和Core Animation动画。...在实践中不断探索和实验,是掌握iOS动画技术的关键。

    实用,易用的 iOS 动画集合库.zip

    《Swift中的iOS动画集合库——Spring深度解析》 在iOS应用开发中,动画效果往往能够提升用户体验,使得交互更加生动有趣。"实用,易用的 iOS 动画集合库.zip" 提供了一个名为Spring的开源项目,专为Swift开发者设计...

    IOS位移动画和渐隐动画

    在iOS开发中,动画是提升用户体验的关键元素之一。位移动画和渐隐渐现动画是两种常见的动画效果,它们能够使界面更具动态感,让用户在交互时感到更加舒适和流畅。下面将详细介绍如何在iOS中实现这两种动画效果,并...

    iOS界面动画大全

    14. **Animation Best Practices**: 包括性能优化、避免阻塞主线程、合理使用动画队列等,都是iOS动画开发中需要注意的关键点。 综上所述,"iOS界面动画大全"可能包含了以上诸多方面的知识,通过学习和实践,开发者...

    又一个全新的 iOS 动画引擎,Demo 和使用场景很不错.zip

    Hero的开源特性意味着开发者可以查看其源代码,了解底层实现,这对于学习iOS动画编程和优化性能非常有帮助。同时,社区支持和持续更新也是开源项目的一大优势,开发者可以利用GitHub等平台提出问题、报告bug、请求新...

Global site tag (gtag.js) - Google Analytics