ios - 如何创建垂直进度条 - IOS - Swift

标签 ios swift uiprogressview

我正在尝试创建一个垂直进度条。但问题是我的代码在 IOS11 或更高版本 上运行,但在 IOS9 上不起作用。

IOS11 或更高版本上,它看起来像: enter image description here

但在IOS9上它看起来像:enter image description here

我的代码:

let progressBar: UIProgressView = {
    let prgressView = UIProgressView()
    prgressView.progress = 0.7
    prgressView.progressTintColor = UIColor(red: 1.0, green: 0.21, blue: 0.33, alpha: 1)
    prgressView.trackTintColor = UIColor.blue
    prgressView.layer.cornerRadius = 6.5
    prgressView.clipsToBounds = true
    prgressView.transform = CGAffineTransform(rotationAngle: .pi / -2)
    prgressView.translatesAutoresizingMaskIntoConstraints = false
    return prgressView
}()

layoutSubview()

override func layoutSubviews() {
    super.layoutSubviews()

    let width = progressBar.bounds.width
    let height = progressBar.bounds.height

    progressBar.bounds.size.width = height
    progressBar.bounds.size.height = width
}

viewDidLoad()

    self.addSubview(progressBar)
    progressBar.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
    progressBar.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true
    progressBar.widthAnchor.constraint(equalToConstant: 22.5).isActive = true
    progressBar.heightAnchor.constraint(equalToConstant: 250).isActive = true

我正在按照本教程创建垂直进度 View :https://www.youtube.com/watch?v=ifekgTtb0rQ&t=1070s

最佳答案

通过对您发布的代码进行两处更改,我能够使您的代码在 iOS 9 和 iOS 12 下正常工作:

  1. 删除layoutSubviews。你已经设定了限制。也不要尝试直接修改 View 的框架。
  2. 交换宽度和高度约束。考虑一下如果未应用变换的话进度条的大小。您希望宽度为 250,高度为 22.5。转换不会改变这一点。变换仅使其看起来像 250 高,但宽度仍然是 250。

简而言之,删除 layoutSubviews 并将约束修复为:

progressBar.widthAnchor.constraint(equalToConstant: 250).isActive = true
progressBar.heightAnchor.constraint(equalToConstant: 22.5).isActive = true

关于ios - 如何创建垂直进度条 - IOS - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52654744/

相关文章:

swift - 如何连接两个注释点?

ios - UIWebView两次启动-iOS

ios - swift 3 - 'EXC_BAD_INSTRUCTION(code=EXC_1386_INVOP,subcode=0x0)' 错误

ios - 预览并保存特定尺寸的图像

ios - 最近的 iOS 构建中的应用程序突然崩溃

ios - iOS 设备之间的 TCP 连接

ios - UIProgressView 约束问题

swift - UIProgressView 和定期刷新(在 Swift 中)

ios - 在 swift 中发送 PUT 请求正文

ios - JSON 错误 : <error: expected ']' error: 1 errors parsing expression >