我怎样才能旋转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是在没有第三方框架的帮助下实现轮换的唯一方法。