美文网首页iOS开发专题
弹框动画-CATransform3D放大缩小

弹框动画-CATransform3D放大缩小

作者: 摸着石头过河_崖边树 | 来源:发表于2017-05-07 17:12 被阅读188次

    弹框动画原理#

    利用CATransform3D 4×4矩阵属性实现放大,
    CATransform3D CATransform3DMakeScale (CGFloat sx, CGFloat sy, CGFloat sz)
    sx :表示x轴偏移
    sy:表示y轴偏移位置
    sz :表示z轴偏移

    苹果手机的x轴:x越大,x---->向右越大
    y轴:y越大,y------>向下越大
    z轴:z越大, z ---->越向外,接近屏幕
    所以要实现放大缩小动画,只需要改变x.y值就可以

    代码实现#

    //弹出放大-缩小效果
    - (void) shakeToShow:(UIView)aView{
    CAKeyframeAnimation
    animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
    animation.duration = 1.0;
    NSMutableArray *values = [NSMutableArray array];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.5, 1.5, 1.0)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.9 , 0.9, 1.0)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
    animation.values = values;
    [aView.layer addAnimation:animation forKey:nil];
    }

    参数链接:CATransform3D 讲解

    相关文章

      网友评论

        本文标题:弹框动画-CATransform3D放大缩小

        本文链接:https://www.haomeiwen.com/subject/xhzutxtx.html