代码之家  ›  专栏  ›  技术社区  ›  twerdster

获取动画属性的值

  •  1
  • twerdster  · 技术社区  · 14 年前

    我正在制作一个简单的UIView转换的动画,希望能够在动画期间访问转换的值。

    [UIView beginAnimations:nil context:NULL]; [UIView设置动画持续时间:0.7];

    CGAffineTransform rot=CGAffineTransformMakeRotation(90);
    CGAffineTransform scale=CGAffineTransformMakeScale(1, 4.0f/3.0f);
    viewFinder.transform=CGAffineTransformConcat(scale, rot);
    
    [UIView commitAnimations];
    

    但是,当我提交动画并开始查询viewFinder.transform.a时,我会得到初始值,然后只有在动画结束后才能得到更新的版本。 所以我感觉CoreAnimation在它的动画堆栈上存储了一个单独的转换并设置了动画。有人知道如何在动画中获得变换吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   twerdster    14 年前

    好吧,解决了。有点棘手,感觉像黑客,但它工作

    我在一个NSTimer反复调用的方法中对此进行查询

    CGAffineTransform rot =[viewFinder.layer.presentationLayer affineTransform];
    

    我想对其他财产也可以这样做