如何在Swift中以编程方式创建UIProgressBar

8

我想在Swift中以编程方式创建UIProgressBar?

这段代码有什么问题吗?

 override func viewDidLoad() {
    super.viewDidLoad()
        let progressView = UIProgressView(progressViewStyle: .Bar)
        progressView.center = self.view.center
        progressView.frame = CGRectMake(0,0,50,20)
        progressView.translatesAutoresizingMaskIntoConstraints = false
        progressView.setProgress(0.5, animated: false)
        self.view.addSubview(progressView)
 }

1
你说过 translatesAutoresizingMaskIntoConstraints = false,但是却没有添加任何约束。只需要添加约束来指定你想要的位置即可。如果你查看视图调试器,我敢打赌这个视图不在你预期的位置上... - Rob
谢谢 @Rob,它运行得很好。 - sulabh qg
3个回答

11
let progressView = UIProgressView(progressViewStyle: .Bar)
progressView.center = view.center
progressView.setProgress(0.5, animated: true)
progressView.trackTintColor = UIColor.lightGrayColor()
progressView.tintColor = UIColor.blueColor()
view.addSubview(progressView)

你需要编写这种类型的代码,而且不需要设置框架。


0
你需要做以下几点:
1. 添加进度视图的子视图 2. 设置约束,因为你将 translateAutoresizingMaskIntoConstraints 设置为 false

0

Swift 5:

let progressView = UIProgressView(progressViewStyle: .bar)
progressView.center = view.center
progressView.setProgress(0.5, animated: true)
progressView.trackTintColor = .lightGray
progressView.tintColor = .blue
view.addSubview(progressView)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接