48

を回転させる必要がある場合、どうすればよいUIImageViewですか? UIImage20度回転させたい があります。

Apple のドキュメントでは変換行列について説明していますが、それは難しそうです。それを達成するための便利な方法や機能はありますか?

4

8 に答える 8

110

右に回転させたい場合は、値が 0 より大きい必要があります。左に回転させたい場合は、値に「-」を付けて示します。たとえば、-20 です。

CGFloat degrees = 20.0f; //the value in degrees
CGFloat radians = degrees * M_PI/180;
imageView.transform = CGAffineTransformMakeRotation(radians);

スウィフト 4:

let degrees: CGFloat = 20.0 //the value in degrees
let radians: CGFloat = degrees * (.pi / 180)
imageView.transform = CGAffineTransform(rotationAngle: radians)
于 2012-03-15T10:46:26.517 に答える
93

変換行列はそれほど難しくありません。提供されている関数を使用すれば、非常に簡単です。

imgView.transform = CGAffineTransformMakeRotation(.34906585);

(.34906585 はラジアンで 20 度です)


スイフト5:

imgView.transform = CGAffineTransform(rotationAngle: .34906585)
于 2009-05-12T13:47:08.433 に答える
10

迅速なバージョン:

let degrees:CGFloat = 20
myImageView.transform = CGAffineTransformMakeRotation(degrees * CGFloat(M_PI/180) )
于 2015-11-28T09:22:16.607 に答える
1
_YourImageView.transform = CGAffineTransformMakeRotation(1.57);

ここで、1.57 は 90 度のラジアン値です。

于 2011-07-04T09:55:33.117 に答える
1

これは、より簡単な書式設定の例です (20 度の場合):

CGAffineTransform(rotationAngle: ((20.0 * CGFloat(M_PI)) / 180.0))
于 2017-01-20T16:19:29.333 に答える
-2

私の知る限りUIAffineTransform、サードパーティ フレームワークの助けを借りずにローテーションを実現する唯一の方法は、マトリックスを使用することです。

于 2009-05-12T13:46:04.987 に答える