zoukankan      html  css  js  c++  java
  • iOS 开发--动画

    1.普通动画:

    [UIView beginAnimations:nil context:nil];

    [UIView setAnimationDuration:2];

    frame.origin.x += 150;

    [img setFrame:frame];

    [UIView commitAnimations];

    2.连续动画(一系列图像):

    NSArray *myImages = [NSArray arrayWithObjects:

    [UIImage imageNamed:@"myImage1.png"],

    [UIImage imageNamed:@"myImage2.png"],

    [UIImage imageNamed:@"myImage3.png"],

    [UIImage imageNamed:@"myImage4.png"], nil];

    UIImageView *myAnimatedView = [[UIImageView alloc] initWithFrame:[self bounds]];

    myAnimatedView.animationImages = myImage;

    myAnimatedView.animationRepeatCount = 0;

    [myAnimatedView startAnimating];

    [self addSubview:myAnimatedView];

    [my AnimatedView release];

    3.CATransition Public API:

    CATransition *animation = [CATransition animation];

    animation.duration = 0.5f;

    animation.timingFunction = UIViewAnimationCurveEaseInOut;

    animation.fillMide = KCAFillModeForwards;

    //各种动画效果

    /*

    KCATransitionFade;

    KCATransitionMoveIn;

    KCATransitionPush;

    KCATransitionReveal;

    */

    /*

    KCATransitionFromeRight;

    KCATransitionFromLeft;

    KCATransitionFormTop;

    kCATransitionFromButtons;

    */

    //各种组合

    animation.type = KCATransitionPush;

    animation.subtype = KCATransitionFromRight;

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

    4.UIView Animations动画:

    [UIView beginAnimations:@"animationID" context:nil];

    [UIView setAnimationDuration:0.5f];

    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    [UIView setAnimationRepeatAutoreverses:NO];

    //以下四种效果

    /*

    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFormLeft forView:self.view cache:YES];

    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFormRight forView:self.view cache:YES];

    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];

    [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];

    */

    5.嵌套使用,先变大再消失

    [UIView animateWithDuration:1.25 aniamtions:^{

    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];}

    ];}

    ];

  • 相关阅读:
    虚拟机里的mysql怎么外连
    Pytest跳过执行之@pytest.mark.skip()详解大全
    判断字符是什么,返回True或者False
    s = "ajldjlajfdljfddd",去重并从小到大排序输出"adfjl"(sort与sorted、reverse与reversed的区别)
    1、输入一个姓名,判断是否姓王 2、strip和replace的用法
    python 运算符
    控制语句--while循环
    控制语句-if
    函数
    控制语句--for循环
  • 原文地址:https://www.cnblogs.com/wanghuaijun/p/5379255.html
Copyright © 2011-2022 走看看