改变 UIProgressView 的位置?
Posted
技术标签:
【中文标题】改变 UIProgressView 的位置?【英文标题】:Changing position of UIProgressView? 【发布时间】:2018-08-17 20:18:42 【问题描述】:我在屏幕上添加了一个进度条。我希望它在我的容器中水平居中,但我想将它移动到我的屏幕底部。如何编辑第三行以更改其位置?
func addControls()
progressView = UIProgressView(progressViewStyle: UIProgressViewStyle.Default)
progressView?.center = self.view.center
view.addSubview(progressView!)
【问题讨论】:
这将为您提供所需的一切:developer.apple.com/documentation/uikit/uiview 是的,我有 - 我只是不知道如何构造 y 轴的参数 【参考方案1】:您可以使用 NSLayoutConstraints 并执行类似的操作。第三行是将进度条放在另一个对象顶部或下方的位置。
var otherObject = UIView()
self.view.addSubview(progressView)
let topConstraint = NSLayoutConstraint(item: progressView, attribute: .topMargin, relatedBy: .equal, toItem: otherObject, attribute: .bottomMargin, multiplier: 1, constant: 0)
let leftConstraint = NSLayoutConstraint(item: progressView, attribute: .leftMargin, relatedBy: .equal, toItem: self.view, attribute: .leftMargin, multiplier: 1, constant: 0)
let rightConstraint = NSLayoutConstraint(item: progressView, attribute: .rightMargin, relatedBy: .equal, toItem: self.view, attribute: .rightMargin, multiplier: 1, constant: 0)
let bottomConstraint = NSLayoutConstraint(item: progressView, attribute: .bottomMargin, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 50)
self.view.addConstraints([topConstraint, leftConstraint, rightConstraint, bottomConstraint])
【讨论】:
【参考方案2】:这真的很简单。
如果要在另一个子视图上方添加子视图,请使用this function:
func insertSubview(_ view: UIView, aboveSubview siblingSubview: UIView)
要在另一个子视图下方添加子视图,请使用this function:
func insertSubview(_ view: UIView, belowSubview siblingSubview: UIView)
【讨论】:
谢谢,这很有帮助!不过,我真的不想将它添加为子视图 - 我宁愿将它作为一个固定位置,恰好位于我屏幕上另一个对象的下方。 (上面的物体移动了,所以这只是开始。)以上是关于改变 UIProgressView 的位置?的主要内容,如果未能解决你的问题,请参考以下文章
UIProgressView setProgress 动画搞砸了
UIPregressView 使用 AFNetWorking 上传图像