我有什么做的,如果我需要旋转UIImageView?我有我想通过20度旋转的UIImage

在苹果文档谈论一个转换矩阵,但听起来很困难。是否有任何有用的方法或函数来实现?

有帮助吗?

解决方案

一个变换矩阵不是非常困难的。这很简单,如果你使用提供的功能:

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)

<强>夫特版本:

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

<强>夫特4.0

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

下面是夫特3的延伸。

extension UIImageView {

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

用法:

myImageView.rotate(degrees: 20)
_YourImageView.transform = CGAffineTransformMakeRotation(1.57);

,其中1.57为90度弧度值

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

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

据我所知,在UIAffineTransform使用矩阵实现旋转没有第三方框架的帮助的唯一途径。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top