改变 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 上传图像

如何增加 UIProgressView 的高度

UIProgressView 圆角

UIProgressView 在 setProgress 期间变为透明,动画 = true

UIProgressView 未处理的颜色