UIImageView
を回転させる必要がある場合、何をしなければなりませんか? 20度回転させたいUIImage
があります。
Apple docsは変換マトリックスについて説明していますが、それは難しいように聞こえます。それを達成するための有用なメソッドや関数はありますか?
変換マトリックスは非常に難しくありません。提供されている機能を使用する場合、非常に簡単です。
imgView.transform = CGAffineTransformMakeRotation(.34906585);
(.34906585はラジアンで20度です)
右に回したい場合、左に回転させたい場合、値は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)
Swiftバージョン:
let degrees:CGFloat = 20
myImageView.transform = CGAffineTransformMakeRotation(degrees * CGFloat(M_PI/180) )
Swift 4.
imageView.transform = CGAffineTransform(rotationAngle: CGFloat(20.0 * Double.pi / 180))
Swift 3。
extension UIImageView {
func rotate(degrees:CGFloat){
self.transform = CGAffineTransform(rotationAngle: degrees * CGFloat(M_PI/180))
}
}
使用法:
myImageView.rotate(degrees: 20)
これは簡単なフォーマットの例です(20度の場合):
CGAffineTransform(rotationAngle: ((20.0 * CGFloat(M_PI)) / 180.0))
_ YourImageView.transform = CGAffineTransformMakeRotation(1.57);
ここで、1.57は90度のラジアン値です