我怎样才能旋转20度的UIImageView?

我需要做什么,如果我需要旋转一个UIImageView ? 我有一个UIImage ,我想旋转20度。

苹果公司的文档谈论了一个转换matrix,但这听起来很困难。 有没有什么有用的方法或function来实现呢?

转换matrix并不是难以置信的。 这很简单,如果你使用提供的function:

 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); 

Swift版本:

 let degrees:CGFloat = 20 myImageView.transform = CGAffineTransformMakeRotation(degrees * CGFloat(M_PI/180) ) 
 _YourImageView.transform = CGAffineTransformMakeRotation(1.57);

其中1.57是90度的弧度值

这是一个更简单的格式示例(20度):

 CGAffineTransform(rotationAngle: ((20.0 * CGFloat(M_PI)) / 180.0)) 

这是Swift 3的扩展。

 extension UIImageView { func rotate(degrees:CGFloat){ self.transform = CGAffineTransform(rotationAngle: degrees * CGFloat(M_PI/180)) } } 

用法:

 myImageView.rotate(degrees: 20) 

Swift 4.0

 imageView.transform = CGAffineTransform(rotationAngle: CGFloat(20.0 * Double.pi / 180)) 

据我所知,在UIAffineTransform使用matrix是在没有第三方框架的帮助下实现轮换的唯一方法。