0

それは私のコードです:

[UIView animateWithDuration:0.4f
                      delay:0.1f
                    options:UIViewAnimationOptionCurveEaseOut
                 animations:^{
                     CGAffineTransform rotate = CGAffineTransformMakeRotation( 30.0 / 180.0 * 3.14 );
                     [needleBig setTransform:rotate];

                 }
                 completion:^(BOOL finished){


                 }];

回転前後の写真です。
回転前 回転後

回転する前に中心が変わるようですが、私はそれを望んでいません。

4

2 に答える 2

3

で作成されCGAffineTransformMakeRotation(angle)た回転は、その原点を中心に座標系を回転させます。ドキュメントには、「角度 = この行列が座標系の軸を回転させるラジアン単位の角度」と書かれています。
写真から、座標系の原点が時計を囲む正方形の左上隅のどこかにあるかのように見えます。ビューのレイヤーのプロパティ
を適切に設定すると、他のポイントを中心に回転できます。anchorPoint

于 2013-04-02T21:09:50.890 に答える