簡體   English   中英

如何將 UIImageView 旋轉 20 度?

[英]How can I rotate an UIImageView by 20 degrees?

如果我需要旋轉UIImageView ,我該怎么辦? 我有一個要旋轉 20 度的UIImage

Apple 文檔討論了轉換矩陣,但這聽起來很困難。 是否有任何有用的方法或功能來實現這一目標?

如果要向右轉,該值必須大於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)

變換矩陣並不是非常困難。 如果您使用提供的函數,這很簡單:

imgView.transform = CGAffineTransformMakeRotation(.34906585);

(.34906585 是 20 度的弧度)


斯威夫特 5:

imgView.transform = CGAffineTransform(rotationAngle: .34906585)

迅捷版:

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

斯威夫特 4.0

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

這是 Swift 3 的擴展。

extension UIImageView {

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

用法:

myImageView.rotate(degrees: 20)

這是一個更簡單的格式示例(20 度):

CGAffineTransform(rotationAngle: ((20.0 * CGFloat(M_PI)) / 180.0))
_YourImageView.transform = CGAffineTransformMakeRotation(1.57);

其中 1.57 是 90 度的弧度值

據我所知,在UIAffineTransform使用矩陣是唯一可以在沒有第三方框架幫助的情況下實現旋轉的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM