Iphone 同一动画块中的两个特性更改具有不同的持续时间。为什么?
在下面的Iphone 同一动画块中的两个特性更改具有不同的持续时间。为什么?,iphone,animation,uiview,ios,Iphone,Animation,Uiview,Ios,在下面的UIView动画块中,我进行了cGrafineTransformMakeScale和cGrafineTransformMakeRotation,虽然持续时间设置为1.0f,缩放速度非常快,旋转时间为1秒 这一定是因为我不了解仿射变换是如何应用的,但我想不出来 有什么好处 编辑:弗拉基米尔的回答非常有效。我将同一属性更改两次,而不是更改两个属性。要对transform属性进行两次更改,必须对初始更改进行transform,然后将第二次更改添加到该transform中,然后从此处设置对象的t
UIView
动画块中,我进行了cGrafineTransformMakeScale
和cGrafineTransformMakeRotation
,虽然持续时间
设置为1.0f,
缩放速度非常快,旋转时间为1秒
这一定是因为我不了解仿射变换是如何应用的,但我想不出来
有什么好处
编辑:弗拉基米尔的回答非常有效。我将同一属性更改两次,而不是更改两个属性。要对transform
属性进行两次更改,必须对初始更改进行transform
,然后将第二次更改添加到该transform
中,然后从此处设置对象的transform
。这样,您可以将任意多个链接在一起
第2行覆盖第1行的效果。您应该构造整个变换,然后将其应用于视图:
CGAffineTransform tr = CGAffineTransformMakeScale(2.0f,2.0f);
tr = CGAffineTransformRotate(tr, M_PI/4);
[self setTransform: tr];
[self setTransform:CGAffineTransformMakeScale(2.0, 2.0)];
[self setTransform:CGAffineTransformMakeRotation(M_PI / 4)];
CGAffineTransform tr = CGAffineTransformMakeScale(2.0f,2.0f);
tr = CGAffineTransformRotate(tr, M_PI/4);
[self setTransform: tr];