1

私は周りを検索してきましたが、私の特定の問題に対処していると思われる答えを見つけることができませんでした. 私のアプリには、無期限にアニメーション化するカスタム UIView があります。それは海藻であり、水の中で揺れているように見えるように、アニメーションは非常に微妙です. transform.rotation.zキーとキーの CAKeyframeAnimation オブジェクトを使用してこれを行いpositionます。これらは CAAnimationGroup に追加され、次のように UIView にレイヤーとして追加されます。

animGroup = [CAAnimationGroup animation];
animGroup.fillMode = kCAFillModeForwards;
[animGroup setAnimations:[NSArray arrayWithObjects:posAnim, rotateAnim, nil]];
animGroup.duration = prpAnim.duration;
animGroup.repeatCount = prpAnim.repeat;
animGroup.delegate = self;
[animGroup setValue:self forKey:[NSString stringWithFormat:@"paper.rot.pos.%d",objID]];
[self.layer addAnimation:animGroup forKey:[NSString stringWithFormat:@"rot.pos.%d",objID]];

コア アニメーションを乱すことなく、iPad を傾けるときに、その UIView 画像 (海藻の一部) をさらに回転させたいと考えています。キーフレームでアニメーション化されていない場合はこれを実行できますが、2つを結合しようとすると機能せず、わかりません。

次のようなものを使用してレイヤーをアニメーション化しようとしました:

CATransform3D rotatePiece3D = CATransform3DMakeRotation(-(tiltRadians), 0.0, 0.0, 1.0);
seaweedPiece.layer.transform = rotatePiece3D;

しかし、それも機能しません - アニメーション グループがオフになっている場合のみです。これは 2D アプリなので、左右に傾けるときに z 軸を中心に回転させたいだけです。これを行う方法はありますか?

4

1 に答える 1

0

アニメーション中に回転を個別に変更することはできないようです。そのため、私がやろうとしていたことはうまくいきません。最終的にアニメーション キーを に変更しましたpath。これにより、加速度計を使用してビューを個別に回転させることができました。

于 2013-01-15T18:19:54.457 に答える