Подтвердить что ты не робот

Как я могу повернуть UIImageView на 20 градусов?

Что мне делать, если мне нужно повернуть UIImageView? У меня есть UIImage, который я хочу повернуть на 20 градусов.

Документы Apple говорят о матрице преобразования, но это звучит сложно. Есть ли полезные методы или функции для достижения этого?

4b9b3361

Ответ 1

Матрица преобразования не невероятно сложна. Это довольно просто, если вы используете поставляемые функции:

imgView.transform = CGAffineTransformMakeRotation(.34906585);

(34906585 - 20 градусов в радианах)

Ответ 2

Если вы хотите повернуть направо, значение должно быть больше 0, если вы хотите повернуть влево, указывает значение со знаком "-". Например, -20.

CGFloat degrees = 20.0f; //the value in degrees
CGFloat radians = degrees * M_PI/180;
imageView.transform = CGAffineTransformMakeRotation(radians);

Ответ 3

Быстрая версия:

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

Ответ 4

Swift 4.0

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

Ответ 5

_YourImageView.transform = CGAffineTransformMakeRotation(1.57);

где 1.57 - радианное значение для 90 градусов

Ответ 6

Это более простой пример форматирования (для 20 градусов):

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

Ответ 7

Здесь расширение для Swift 3.

extension UIImageView {

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

Использование:

myImageView.rotate(degrees: 20)

Ответ 8

Насколько я знаю, использование матрицы в UIAffineTransform - единственный способ добиться вращения без помощи сторонней структуры.