gpt4 book ai didi

objective-c - ProgressView 溢出 UIView 边界

转载 作者:搜寻专家 更新时间:2023-11-01 05:42:01 24 4
gpt4 key购买 nike

我在 UIView 中有一个 progressView (UIView),它越界(使用自动布局)。

  • 当我将进度设置为 0.5 (50%) 时,它会覆盖整个 View
  • 当我将进度设置为 0.75 (75%) 时,它会溢出 UIView

我什至尝试过 sizeToFit()clipToBounds()。都没有解决问题。当我打印框架的宽度时,它是 Storyboard 中的原始值,在设备上渲染时太大了。

class ProgressView: UIView {
var progress: CGFloat! = 0.75
var filledView: UIView!
override init(frame: CGRect) {
filledView = UIView(frame: CGRect(x: frame.origin.x, y: frame.origin.y, width: 0, height: frame.height))
filledView.backgroundColor = UIColor.redColor()
super.init(frame: frame)
addSubview(filledView)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
filledView = UIView(frame: CGRect(x: frame.origin.x, y: frame.origin.y, width: 0, height: frame.height))
filledView.backgroundColor = UIColor.redColor()
addSubview(filledView)
}

func setProgress(var progress: CGFloat) {
progress = min(max(progress, 0), 1) // Between 0 and 1
self.progress = progress
println(self.frame.width)
filledView.frame.size.width = self.frame.width * progress
filledView.clipsToBounds = true
}
}

enter image description here enter image description here

最佳答案

你只需要设置进度:

self.progress = progress

它应该自己制作动画。无需更改其中的任何框架。

关于objective-c - ProgressView 溢出 UIView 边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com