swift - ¿Cuál es la forma correcta de rotar un UILabel 90 grados?
rotation (5)
Estoy intentando rotar un UILabel 90 grados dentro de una UIView.
El siguiente fragmento es un intento de escribir algo en Swift que puede hacer eso:
// #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)
Me encontré con un par de errores del compilador:
1) El intento de convertir radianes a un ángulo encontró un problema de conversión doble -> flotante y, por lo tanto, tuvo que usar ''3.14'' frente a ''M_Pi''.
2) Recibí el siguiente error al intentar realizar la transformación en UILabel:
¿Cuál es la forma correcta de rotar un UILabel 90 grados?
De acuerdo ... obtuve la sintaxis de transformación pero ...Aquí está la imagen original:
Mi objetivo es posicionar ''TUE'' verticalmente contra el lado izquierdo de la celda.
Originalmente probé una contra-rotación de 90 grados:
self.dayLabel.transform = CGAffineTransformMakeRotation(-90)
Y obtuve lo siguiente:
Traté de variar los grados, pero no puedo obtener una posición vertical sólida.
¿Tengo / puedo tener un control más estricto sobre la transformación?
Aparentemente me he ajustado al 1/100 de un grado de contador para empujarlo verticalmente:
self.dayLabel.transform = CGAffineTransformMakeRotation(-89.55)
El resultado:
UIView.transform
es una property
de UIView
no es una function
.
Intente establecer self.label.transform = CGAffineTransformMakeRotation(angle)
lugar.
Para obtener más información, https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/#//apple_ref/occ/instp/UIView/transform
Pruebe de esta manera:
self.dayLabel.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2));
self.dayLabel.transform = CGAffineTransformMakeRotation(M_PI_2)
Es la forma correcta de realizar la transformación de 90 grados, donde M_PI_2
es el valor de radian predefinido para 90 grados.
Swift 3 versión:
dayLabel.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2)