美文网首页
iOS transform动画

iOS transform动画

作者: 香橙柚子 | 来源:发表于2021-08-24 18:14 被阅读0次

    transform主要由这几个方法

    CGAffineTransformMakeTranslation(平移)
    CGAffineTransformMakeScale(缩放)
    CGAffineTransformMakeRotation(旋转)
    CGAffineTransformIdentity(还原到之前的状态)

    另外还有几个叠加 ,大致意思是在一个transfrom基础上再做一次transform
    CGAffineTransformTranslate
    CGAffineTransformScale
    CGAffineTransformRotate

    1. 平移
    /* 基于本身的frame移动(只移动一次) */
    vew.transform = CGAffineTransformMakeTranslation(15, 15); 
    /* 基于本身的frame移动(可以一直移动) */
    view.transform = CGAffineTransformTranslate(view.transform, 15, 15);
    
    1. 旋转
    /* 基于本身的位置旋转(只旋转一次) */
    view.transform = CGAffineTransformMakeRotation(M_PI_4);
    /* 基于本身的位置旋转(可以一直旋转) */
    view.transform = CGAffineTransformRotate(view.transform, M_PI_4);
    

    3.缩放(包括放大)

    /* 在原来的frame上缩放(只缩放一次) */
    view.transform = CGAffineTransformMakeScale(1.5, 1.5);
    /* 在缩放后的frame上缩放(可以一直缩放) */
    view.transform = CGAffineTransformScale(view.transform, 1.5, 1.5);
    

    缩放或旋转默认都是围绕视图的中心点来进行的,通过 AnchorPoint 的设定,可以改变缩放或旋转围绕的点。这个点被称为锚点。

       view.layer.anchorPoint = newAnchorPoint; // 修改锚点
    
    // 将缩放或旋转围绕的点还原为默认
     view.layer.anchorPoint = CGPointMake(0, 0);
    

    可以配合UIVIew 动画使用

     [UIView animateWithDuration:1 animations:^{
            self.giftView.transform = CGAffineTransformRotate(self.giftView.transform, M_PI_4);
            self.giftView.transform = CGAffineTransformScale(self.giftView.transform, 2, 2);
      }];
    

    相关文章

      网友评论

          本文标题:iOS transform动画

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