web-dev-qa-db-ja.com

UILabelを90度回転させる正しい方法は何ですか?

UIView内でUILabelを90度回転しようとしています。

次のスニペットは、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)ラジアンを角度に変換しようとすると、double-> float変換の問題が発生したため、「3.14」対「M_Pi」を使用する必要がありました。
2)UILabelで実際に変換を実行しようとすると、次のエラーが発生しました。 enter image description here

UILabelを90度回転させる正しい方法は何ですか?




enter image description here

私の目標は、「TUE」をセルの左側に垂直に配置することです。
最初に90度のカウンター回転を試みました。

    self.dayLabel.transform = CGAffineTransformMakeRotation(-90)

そして、次のものを得ました:
enter image description here

度を変えようとしましたが、しっかりとした垂直位置を得ることができません。
タイト変換を制御できますか?

30

Swift 3バージョン:

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

この方法を試してください:

self.dayLabel.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi/2))
18
mattyU
self.dayLabel.transform = CGAffineTransformMakeRotation(M_PI_2)

90度の変換を実行する正しい方法です。ここで、M_PI_2は、90度の定義済みラジアン値です。

8
chris

度数の値を持つSwift 4ソリューション:

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

スイフト4

@IBOutlet weak var ourView: UIView!

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

enter image description here

3
Akbar Khan

_UIView.transform_は、propertyではなく、UIViewfunctionです。
代わりにself.label.transform = CGAffineTransformMakeRotation(angle)を設定してみてください。

詳細情報 https://developer.Apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/#//Apple_ref/occ/instp/UIView/transform

2
rakeshbs