Swift - UIProgressView 对角填充
Posted
技术标签:
【中文标题】Swift - UIProgressView 对角填充【英文标题】:Swift - UIProgressView fills diagonally 【发布时间】:2015-07-16 11:55:17 【问题描述】:所以我设置了一个 UIProgressView 在 3 秒后填充,并稍微增加了条的高度。但是,当它填满时,它会沿对角线填充,而不是仅从一侧填充到另一侧。该栏从右上角开始,然后在结束之前扩展以填充进度视图。
这是我正在使用的代码:
import UIKit
class LoadingScreen: UIViewController
@IBOutlet weak var progressView: UIProgressView!
override func viewDidLoad()
super.viewDidLoad()
UIView.animateWithDuration(3, animations: () -> Void in
self.progressView.setProgress(1.0, animated: true)
)
progressView.transform = CGAffineTransformScale(progressView.transform, 1, 10)
以下是一些截图:
【问题讨论】:
您到底想要发生什么? 这只是一个猜测,但你能不能把你的progressView.transform = CGAffineTransformScale(progressView.transform, 1, 10)
放在动画之前!
@JuanCarlosOspinaGonzalez 我只希望白色位从一侧开始,就像一个进度条,它将在 3 秒内从 0 变为 1.0
@DevAndArtist 遗憾的是没有变化...
好的,我自己测试过,我可以确认你的行为。我想您可以自己构建某种进度条。例如,您可以使用一些自动布局约束并修改 .constant
。这只是一个 UIView,你需要稍微拉伸一下。 ;)
【参考方案1】:
来得比较晚,但我刚刚经历了这一点,并通过将我的 progressView 样式更改为 .Bar 来修复它。希望对您有所帮助!
let progressView = UIProgressView(progressViewStyle: .Bar)
【讨论】:
【参考方案2】:progressView 的大小好像不对。
尝试将这些代码放入viewDidLayoutSubviews
:
override func viewDidLayoutSubviews()
super.viewDidLayoutSubviews()
UIView.animateWithDuration(3, animations: () -> Void in
self.progressView.setProgress(1.0, animated: true)
)
progressView.transform = CGAffineTransformScale(progressView.transform, 1, 10)
【讨论】:
只是把它放进去,但它没有用。做了同样的事情。我认为这可能与使用.animateWithDuration
有关,默认情况下它似乎是对角线动画。还有其他想法或解决方法吗? - 对不起,我对这一切真的很陌生:P以上是关于Swift - UIProgressView 对角填充的主要内容,如果未能解决你的问题,请参考以下文章
使用 Core Data 在 Swift 中通过 UIProgressView 异步插入数据