Что мне делать, если мне нужно повернуть UIImageView
? У меня есть UIImage
, который я хочу повернуть на 20 градусов.
Документы Apple говорят о матрице преобразования, но это звучит сложно. Есть ли полезные методы или функции для достижения этого?
Что мне делать, если мне нужно повернуть UIImageView
? У меня есть UIImage
, который я хочу повернуть на 20 градусов.
Документы Apple говорят о матрице преобразования, но это звучит сложно. Есть ли полезные методы или функции для достижения этого?
Матрица преобразования не невероятно сложна. Это довольно просто, если вы используете поставляемые функции:
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);
Быстрая версия:
let degrees:CGFloat = 20
myImageView.transform = CGAffineTransformMakeRotation(degrees * CGFloat(M_PI/180) )
Swift 4.0
imageView.transform = CGAffineTransform(rotationAngle: CGFloat(20.0 * Double.pi / 180))
_YourImageView.transform = CGAffineTransformMakeRotation(1.57);
где 1.57 - радианное значение для 90 градусов
Это более простой пример форматирования (для 20 градусов):
CGAffineTransform(rotationAngle: ((20.0 * CGFloat(M_PI)) / 180.0))
Здесь расширение для Swift 3.
extension UIImageView {
func rotate(degrees:CGFloat){
self.transform = CGAffineTransform(rotationAngle: degrees * CGFloat(M_PI/180))
}
}
Использование:
myImageView.rotate(degrees: 20)
Насколько я знаю, использование матрицы в UIAffineTransform
- единственный способ добиться вращения без помощи сторонней структуры.