博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIView animation常用用法
阅读量:3638 次
发布时间:2019-05-21

本文共 1469 字,大约阅读时间需要 4 分钟。

UIView 动画一:

利用UIView animation进行平移操作

- (IBAction)click:(id)sender {

    

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

     

     [UIView setAnimationDuration:1.5];

     

     CGRect frame = self.ball.frame;//imageView 的frame

     frame.origin.y += 200 * flag;

    flag =flag*( -1); //取反

     self.ball.frame = frame;

     

     [UIView commitAnimations];

     

     

    /*

    

    [UIView animateWithDuration:1.5 animations:^{

        CGRect frame = self.ball.frame;

        frame.origin.y += 100 * flag;//Y每次加100或减100

        flag *= -1; //取反

        self.ball.frame = frame;

    }];

     */

}

不仅可以得用UIView实现一些常用的动画,还可以通过设置代理来监听动画的开始或结束,如:

- (IBAction)click:(id)sender {

    

    [self.button setAlpha:0.0];

    

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

    

    [UIView setAnimationDuration:1.5];

    [UIView setAnimationDelegate:self];//设置代理

    [UIView setAnimationWillStartSelector:@selector(viewAnimationStart)];//监听开始

    [UIView setAnimationDidStopSelector:@selector(viewAnimationDone)];//监听动画的结束

    

    CGRect frame = self.ball.frame;

    frame.origin.y += 100 * flag;

    flag *= -1; //取反

    self.ball.frame = frame;

    

    [UIView commitAnimations];

    

}

-(void)viewAnimationStart{

    NSLog(@"animation start-----");

}

- (void)viewAnimationDone {

    NSLog(@"animation end-----");

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

    [self.button setAlpha:1.0];

    [UIView commitAnimations];

}

UIView 动画之回调:

还可以通过回调来监听动画的完成

    [UIView animateWithDuration:1.5 animations:^{

        CGRect frame = self.ball.frame;

        frame.origin.y += 100 * flag;

        flag *= -1; //取反

        self.ball.frame = frame;

    } completion:^(BOOL finished) {

        NSLog(@"动画结束了。");     

    }];

转载地址:http://ofrun.baihongyu.com/

你可能感兴趣的文章
Spring Data JPA 自定义Repository接口与子接口
查看>>
Java 对上传文件进行魔数校验
查看>>
RabbitMQ入门高级特性
查看>>
Java对象序列化与反序列化
查看>>
同步、异步与阻塞、非阻塞的理解
查看>>
Java NIO核心三大组件Channel、Buffer和Selector(一)
查看>>
Java NIO核心三大组件Channel、Buffer和Selector(二)
查看>>
常用字符集及字符编码和Charset类
查看>>
JVM OOM异常
查看>>
Bootstrap 栅格基本模板使用
查看>>
SpringBoot 整合Druid数据源
查看>>
OpenLayers 入门使用
查看>>
SpringBoot 整合Mybatis
查看>>
SpringBoot 事务的使用
查看>>
Windows 常用网络cmd命令
查看>>
Java 方法(方法重载)与数组
查看>>
Java 类、对象和构造器
查看>>
Java 三大特征:封装、继承(方法覆盖,this,super)和多态
查看>>
Layui 栅格系统、常用表单和校验与监听
查看>>
Java 抽象方法、final与static、代码块和内部类
查看>>