1

を使用して UIImageView の回転と水平反転を設定しています

#define DegreesToRadians(x) ((x) * M_PI / 180.0)
imageView.transform = CGAffineTransformConcat(CGAffineTransformMakeScale(-1, 1),CGAffineTransformMakeRotation(DegreesToRadians(-5))); 

この操作は、UIImageView の xOrigin + yOrigin + width + height を変更します。

UIImageViewの実際の原点に新しい原点を維持またはリセットできますか、またはフレームに変更を加えずにUIImageViewを回転させることはできませんか?

4

1 に答える 1

2

CGPoint変換を適用する前に、原点を変数に保存できます。その後、画像ビューに割り当てます。

CGPoint origin = imageView.frame.origin;
imageView.transform = CGAffineTransformConcat(CGAffineTransformMakeScale(-1, 1),CGAffineTransformMakeRotation(DegreesToRadians(-5)));

imageView.frame = CGRectMake(origin.x, origin.y, imageView.frame.size.width, imageView.frame.size.height);

// or

CGRect frame = imageView.frame;
frame.origin = origin;
imageView.frame = frame;

アップデート

回転を元に戻し、以前の外観に戻したい場合は、次を使用します。

imvCoverPhoto.transform = CGAffineTransformConcat(CGAffineTransformMakeScale(-1, 1),CGAffineTransformMakeRotation(DegreesToRadians(0)));

に 0 を渡すだけですDegreesToRadians。これにより、イメージが元の状態に戻ります。

これが役に立ち、まさにあなたが探しているものであることを願っています:)

于 2013-07-09T10:42:55.023 に答える