如何将UIImageView旋转20度?

时间:2009-05-12 13:43:26

标签: ios iphone cocoa-touch uiimageview uikit

如果我需要轮播UIImageView,我该怎么办?我有一个UIImage我要旋转20度。

Apple文档谈论转换矩阵,但这听起来很难。是否有任何有用的方法或功能来实现这一目标?

8 个答案:

答案 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中的矩阵是在没有第三方框架的帮助下实现轮换的唯一方法。