簡體   English   中英

在Swift中更改UIProgressView(欄樣式)的高度

[英]Change height of UIProgressView (Bar style) in Swift

我在Swift 2.2中創建了一個UIProgressView(欄樣式),現在想更改其高度。 其他一些帖子建議使用CGAffineTransformScale更改高度。 但是,由於某種原因,這種方法似乎不起作用,因為它對UIProgressView的高度沒有任何影響。

在下面,您將找到我的代碼:

let progressBar = UIProgressView(progressViewStyle: .Bar)
progressBar.progress = 0.5
progressBar.translatesAutoresizingMaskIntoConstraints = false
progressBar.transform = CGAffineTransformScale(progressBar.transform, 1, 20)
self.navigationItem.titleView = progressBar

感謝您的幫助,非常感謝!

您可以UIProgressView子類,並添加height屬性:

結果:

在此處輸入圖片說明

import UIKit

class CustomProgressView: UIProgressView {

    var height:CGFloat = 1.0 
    // Do not change this default value, 
    // this will create a bug where your progressview wont work for the first x amount of pixel. 
    // x being the value you put here.

    override func sizeThatFits(_ size: CGSize) -> CGSize {
        let size:CGSize = CGSize.init(width: self.frame.size.width, height: height)

        return size
    }

}

vc ,初始化customProgressvView ,然后設置height

import UIKit

class ViewController2: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let progressBar = CustomProgressView(progressViewStyle: .bar)
        progressBar.progress = 0.5
        progressBar.height = 10.0
        self.navigationItem.titleView = progressBar

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM