0

次のようなアンカーポイントを使用して画像を回転させる方法を説明できますか

https://www.dropbox.com/s/vh3h5cr1mkdbfh3/ex_image2.JPG

オン.m

#import <QuartzCore/QuartzCore.h>

.h で

[UIView animateWithDuration:0.7f
                          delay:0
                        options:UIViewAnimationOptionCurveEaseOut
                     animations:^
     {
         self.center = position;
         self.layer.anchorPoint = CGPointMake(-1, 0);
         self.transform = CGAffineTransformMakeRotation(-5);

     }
                     completion:^(BOOL completed){

                     }];

このコードを使用すると、そのようなものがあります

https://www.dropbox.com/s/v87abux9dqm4y0p/ex_image1.JPG

4

1 に答える 1

0

レイヤーに回転変換を適用すると、アンカー ポイントを中心に回転が発生します。

そのため、最初にレイヤーのアンカーポイントを (0.0, 0.0) に設定します。

self.layer.anchorPoint = CGPointMake(0.0f, 0.0f);

次に、ビューを回転させるだけで、回転はアンカーポイント (0.0, 0.0) を中心に行われます。

[UIView animateWithDuration:2.0f animations:^{
    self.transform = CGAffineTransformMakeRotation(3.1415f);
}];

コードは、あなたが描いたようにビューを一度回転させます。

詳細については、Apple の「Core Animation Programming Guide」の「Anchor Points Affect Geometry Manipulations」というタイトルのセクションを参照してください。

于 2013-02-19T21:04:50.807 に答える