self.myImage
中心点を中心に回転させたいUIImageView ( ) 内に透明な png があります。コードは非常に単純です。
[self.myImage.layer setAnchorPoint:CGPointMake(0.5, 0.5)];
[UIView animateWithDuration:1.0 animations:^{
[self.myImage setTransform:CGAffineTransformMakeRotation(angle)];
}];
画像は適切な速度/時間で適切な角度で回転しますが、位置がずれます。何が起こっているかの例を次に示します。
灰色の四角は、画面内の位置を示すためのものです。透明な png (UIImageView に含まれる) は、もう一方の図です。白い点線は、UIImageView の中心を示しています。画像の左側は画像の元の位置を示し、右側は上記のコードで回転させた後の画像を示します (少し右にずらします)。白黒の円は画像ファイルの中央にあります。
私が見逃しているものはありますか?私の知る限り、上記の最初の行はデフォルトであるため、必要ありません。ストーリーボード/プログラムで何かを設定/設定解除する必要がありますか?