UIProgressViewを回転させると、太さを変更したのにそれが適用されないみたいな事が起こりました。
ちなみに太さは
YourProgressView.transform = CGAffineTransform(scaleX:任意の値,y:任意の値)
で変更できるのですが、そこでもし、「よし、回転させたい」ってなった時に、
YourProgressView.transform = CGAffineTransform(rotationAngle:CGFloat(90*CGFloat.pi / -180))
を記述して回転させると、まあちゃんと回転はするのですが、逆に「変更したはずの太さが変更されてなかった」という事が起こってしまいした。
解決策
そこで、どうすれば太さを維持したまま回転させる事が出来るのか模索した結果、CGAffineTransformが持つconcatenating(文字列結合)というメソッドを用いれば良い事がわかりました。 記述するとこんな感じです。import UIKit
class ViewController: UIViewController {
@IBOutlet weak var YourProgressView: UIProgressView!
override func viewDidLoad() {
super.viewDidLoad()
let changeScale = CGAffineTransform(scaleX: 1.0, y: 3.0)//太さ変更
let changeRotate = CGAffineTransform(rotationAngle: CGFloat(90*CGFloat.pi / -180))//回転
let concatenatingTransform = changeScale.concatenating(changeRotate)//二つのTransformを結合
YourProgressView.transform = concatenatedTransform
}
}
これでちゃんと出来るようになります。
では!