zoukankan      html  css  js  c++  java
  • CABasicAnimation 使用

    1. 基本使用

        UIView * view = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 50,50)];

        view.backgroundColor = [UIColor orangeColor];

        [self.view addSubview:view];

        /////

        CABasicAnimation * anim = [CABasicAnimation animationWithKeyPath:@"transform.scale"];

        anim.duration = 0.5;

        anim.repeatCount = 1;

        anim.fromValue = @1;

        anim.toValue = @0.3;

        [view.layer addAnimation:anim forKey:nil];

       这个动画的作用是,view的大小在0.5秒之内,缩小到原来的30%,然后迅速的回到原来的大小。

       如果anim.autoreverses 设置为YES的话,那就不是“迅速”变为原来的大小,而是从30%的大小反过来变成原来的大小,时间也未duration的值。

       这里的 duration为一个repeat的时间,也就是说,如果repeatCount为10,那其实就是10个duration的时间(如果duration为YES的话,还需要*2)

       如何让动画结束后保持动画后的状态?

       上面的例子我们看到,动画在结束的时候,返回到原来的大小了,那么如何才能使得动画结束后保持在30%的状态呢?

       如下两个语句可以满足:anim.removedOnCOmpletion = NO;  anim.fillMode = kCAFillModeForwards;

       

    2.keypath 可以取值如下

     

    transform.scale = 比例轉換

        transform.scale.x = 闊的比例轉換

        transform.scale.y = 高的比例轉換

        transform.rotation.z = 平面圖的旋轉

        opacity = 透明度

        margin

        zPosition

        backgroundColor    背景颜色

        cornerRadius    圆角

        borderWidth

        bounds

        contents

        contentsRect

        cornerRadius

        frame

        hidden

        mask

        masksToBounds

        opacity

        position

        shadowColor

        shadowOffset

        shadowOpacity

        shadowRadius

  • 相关阅读:
    2018年9月28日CCPC秦皇岛站参赛总结
    数学:二次剩余与n次剩余
    数学:拓展Lucas定理
    BZOJ2301:莫比乌斯反演+二维容斥解决GCD范围计数
    数学:莫比乌斯反演-约数个数和
    数学:莫比乌斯反演-GCD计数
    关于cnblogs至github上blog的搬迁
    友链——一群dalao
    折半搜索(meet in the middle)
    关于爆搜
  • 原文地址:https://www.cnblogs.com/rollrock/p/4876745.html
Copyright © 2011-2022 走看看