Ответ 1
Версия Swift 3:
dayLabel.transform = CGAffineTransform(rotationAngle: .pi / 2)
Я пытаюсь повернуть UILabel на 90 градусов в UIView.
Следующий фрагмент - попытка написать что-то в Swift, которое может это сделать:
// #define DEGREES_TO_RADIANS(x) (x * M_PI/180.0)
let angle:CGFloat = (90.0 * 3.14/180.0) as CGFloat
let rotation = CGAffineTransformMakeRotation(angle)
self.dayLabel.transform(rotation)
Я столкнулся с ошибками компилятора пары:
1) Попытка превратить радианы под углом столкнулась с проблемой двойного преобразования с плавающей точкой и, следовательно, должна была использовать "3.14" против "M_Pi".
2) При попытке сделать трансформацию на UILabel я получил следующую ошибку:
Каков правильный способ поворота UILabel на 90 градусов?
Моя цель - позиционировать "TUE" вертикально в левой части ячейки.
Сначала я попробовал вращение на 90 графов:
self.dayLabel.transform = CGAffineTransformMakeRotation(-90)
И получил следующее:
Я пытался варьировать градусы, но не мог получить твердую вертикальную позицию.
Я/могу ли я иметь более жесткий контроль над преобразованием?
Версия Swift 3:
dayLabel.transform = CGAffineTransform(rotationAngle: .pi / 2)
Попробуйте следующим образом:
dayLabel.transform = CGAffineTransform(rotationAngle: .pi/2)
self.dayLabel.transform = CGAffineTransformMakeRotation(M_PI_2)
Правильный способ выполнить преобразование на 90 градусов, где M_PI_2
- предопределенное значение радиана для 90 градусов.
Решение Swift 4 со значением градусов:
let degrees : Double = -90; //the value in degrees
self.dayLabel.transform = CGAffineTransform(rotationAngle: CGFloat(degrees * .pi/180))
Свифт 4
@IBOutlet weak var ourView: UIView!
ourView.transform = CGAffineTransform(rotationAngle: CGFloat(Double(-45) * .pi/180))
//i gave it -45 degree.
UIView.transform
является property
UIView
не a function
.
Вместо этого попробуйте установить self.label.transform = CGAffineTransformMakeRotation(angle)
.
За дополнительной информацией https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/#//apple_ref/occ/instp/UIView/transform
По-видимому, я отрегулировал до 1/100 градуса счетчика, чтобы подтолкнуть его вертикально:
self.dayLabel.transform = CGAffineTransformMakeRotation(-89.55)
Результат: