it-swarm.com.de

Was ist der richtige Weg, ein UILabel um 90 Grad zu drehen?

Ich versuche, ein UILabel innerhalb eines UIView um 90 Grad zu drehen. 

Das folgende Snippet ist ein Versuch, etwas in Swift zu schreiben, das das kann:

  //  #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)

Ich habe ein paar Compiler-Fehler gefunden: 
1) Beim Versuch, Radiant in einen Winkel umzuwandeln, kam es zu einem Doppel -> Float - Konvertierungsproblem. Daher musste '3.14' im Vergleich zu 'M_Pi' .
2) Beim Versuch, die UILabel-Transformation tatsächlich durchzuführen, wurde folgende Fehlermeldung angezeigt: enter image description here

Was ist der richtige Weg, um ein UILabel um 90 Grad zu drehen?


Okay, ich habe die Transformationssyntax bekommen, aber ...
Hier ist das Originalbild:
enter image description here

Mein Ziel ist es, 'TUE' senkrecht gegen die linke Seite der Zelle zu positionieren.
Ich habe ursprünglich eine 90-Grad-Gegendrehung versucht:

    self.dayLabel.transform = CGAffineTransformMakeRotation(-90)

Und bekam folgendes: 
enter image description here

Ich habe versucht, die Grade zu variieren, kann aber keine feste vertikale Position einnehmen.
Ich kann/kann ich enger Kontrolle über die Transformation haben?

24

Swift 3 Version:

dayLabel.transform = CGAffineTransform(rotationAngle: .pi / 2)
41
Mette

Versuchen Sie es so: 

self.dayLabel.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2));
16
mattyU
self.dayLabel.transform = CGAffineTransformMakeRotation(M_PI_2)

Ist der richtige Weg, um die Transformation von 90 Grad durchzuführen, wobei M_PI_2 der vordefinierte Radiantwert für 90 Grad ist. 

8
chris

Swift 4 Lösung mit Gradwert:

let degrees : Double = -90; //the value in degrees
self.dayLabel.transform = CGAffineTransform(rotationAngle: CGFloat(degrees * .pi/180))
3
Daphyduck

UIView.transform ist eine property der UIView und keine function.
Versuchen Sie stattdessen die Einstellung self.label.transform = CGAffineTransformMakeRotation(angle).

Weitere Informationen https://developer.Apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/#//Apple_ref/occ/instp/UIView/transform

2
rakeshbs

Schnell 4

@IBOutlet weak var ourView: UIView!

    ourView.transform = CGAffineTransform(rotationAngle: CGFloat(Double(-45) * .pi/180))
//i gave it -45 degree.

 enter image description here

0
akbar khan