如果我需要轮播UIImageView
,我该怎么办?我有一个UIImage
我要旋转20度。
Apple文档谈论转换矩阵,但这听起来很难。是否有任何有用的方法或功能来实现这一目标?
答案 0 :(得分:105)
如果要向右转,如果要向左旋转,则值必须大于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)
答案 1 :(得分:91)
变换矩阵并不难以置信。如果您使用提供的函数,这很简单:
imgView.transform = CGAffineTransformMakeRotation(.34906585);
(。34906585是弧度20度)
答案 2 :(得分:10)
Swift版本:
let degrees:CGFloat = 20
myImageView.transform = CGAffineTransformMakeRotation(degrees * CGFloat(M_PI/180) )
答案 3 :(得分:4)
Swift 4.0
imageView.transform = CGAffineTransform(rotationAngle: CGFloat(20.0 * Double.pi / 180))
答案 4 :(得分:2)
这是Swift 3的扩展。
extension UIImageView {
func rotate(degrees:CGFloat){
self.transform = CGAffineTransform(rotationAngle: degrees * CGFloat(M_PI/180))
}
}
用法:
myImageView.rotate(degrees: 20)
答案 5 :(得分:1)
_YourImageView.transform = CGAffineTransformMakeRotation(1.57);
其中1.57是90度
的弧度值答案 6 :(得分:1)
这是一个更简单的格式化示例(20度):
CGAffineTransform(rotationAngle: ((20.0 * CGFloat(M_PI)) / 180.0))
答案 7 :(得分:-2)
据我所知,使用UIAffineTransform
中的矩阵是在没有第三方框架的帮助下实现轮换的唯一方法。