LoginSignup
0
0

More than 1 year has passed since last update.

progreesViewを縦にして、太さも変更する

Posted at

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

    }


}

これでちゃんと出来るようになります。
では!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0