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で実際に変換を実行しようとすると、次のエラーが発生しました。
UILabelを90度回転させる正しい方法は何ですか?
私の目標は、「TUE」をセルの左側に垂直に配置することです。
最初に90度のカウンター回転を試みました。
self.dayLabel.transform = CGAffineTransformMakeRotation(-90)
そして、次のものを得ました:
度を変えようとしましたが、しっかりとした垂直位置を得ることができません。
タイト変換を制御できますか?
Swift 3バージョン:
dayLabel.transform = CGAffineTransform(rotationAngle: .pi / 2)
この方法を試してください:
self.dayLabel.transform = CGAffineTransform(rotationAngle: CGFloat(Double.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))
_UIView.transform
_は、property
ではなく、UIView
のfunction
です。
代わりにself.label.transform = CGAffineTransformMakeRotation(angle)
を設定してみてください。