私はUIView
サブクラスを持っています。私は首尾よくUIView
アニメーションを使用できます。uiview CGAffineTransformは後ろにアニメーションを返します
このUIView
にはサブビューがあり、UIView
もアニメーションできます。
しかし、私はアニメーションを作成して親ビューに適用するとうまくいきますが、アニメーションを子ビューに適用すると逆向きにアニメーション化されるようです。例えば
、私は2倍(幅と高さを倍増させる)ことで、私のUIView
親(自己を)スケール場合:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate: self];
[UIView setAnimationDuration:2];
[UIView setAnimationDelay:2];
CGAffineTransform scaleTransform = CGAffineTransformScale(self.transform, 2, 2 );
self.transform = scaleTransform;
[UIView commitAnimations];
、これは正常に動作します。
しかし、私は子供に同じことを行う場合:
UIView *myObj = [[self subviews] objectAtIndex:0];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate: self];
[UIView setAnimationDuration:2];
[UIView setAnimationDelay:2];
CGAffineTransform scaleTransform = CGAffineTransformScale(myObj.transform, 2, 2 );
myObj.transform = scaleTransform;
[UIView commitAnimations];
それは動作しません。視覚的に何が起こるかは、子ビューが直ちに縮小され、その後に遅延が元のサイズにまでスケールアップした後です。
変換パラメータを記録すると、親と子の両方で同じように見えますが、私はCGAffineTransformIdentity
を設定しようとしました。
何が問題なのでしょうか?
btw、回転が正常に動作しています。スケーリングに問題があります。 – ader