gpt4 book ai didi

ios - 在 Navigation Controller 下添加一个 UIProgressView

转载 作者:可可西里 更新时间:2023-11-01 05:41:17 26 4
gpt4 key购买 nike

这似乎与这个问题 ( Showing a UIProgressView inside or on top of a UINavigationController's UINavigationBar ) 类似,但如果 Xcode 没有抛出一些可怕的错误,我无法在那里找到适合我的答案。

我有一个类似的问题,但我想在 Split View Controller 的主视图上添加进度条,所以它是一个表格 View ,但上面答案中给出的代码不起作用(我不以相同的方式访问导航栏。

我试过这样修改它:

    UIProgressView *progress = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];;
[progress setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.navigationController.navigationBar addSubview:progress];

这几乎可以工作,但它会将它添加到 View 上方而不是下方和半角(令人讨厌)。我可以在 Storyboard 中执行此操作,但是当我将新的 tableview 动态推送到导航堆栈时,它会再次消失。

我的目标是:

Progressview Under Nav

感谢您的帮助!

最佳答案

override func viewDidLoad() {
super.viewDidLoad()

// if VC is pushed in a navigation controller I add a progress bar
if let navigationVC = self.navigationController {

// create progress bar with .bar style and add it as subview
let progressBar = UIProgressView(progressViewStyle: .Bar)
navigationVC.navigationBar.addSubview(progressBar)

// create constraints
// NOTE: bottom constraint has 1 as constant value instead of 0; this way the progress bar will look like the one in Safari
let bottomConstraint = NSLayoutConstraint(item: navigationVC.navigationBar, attribute: .Bottom, relatedBy: .Equal, toItem: progressBar, attribute: .Bottom, multiplier: 1, constant: 1)
let leftConstraint = NSLayoutConstraint(item: navigationVC.navigationBar, attribute: .Leading, relatedBy: .Equal, toItem: progressBar, attribute: .Leading, multiplier: 1, constant: 0)
let rightConstraint = NSLayoutConstraint(item: navigationVC.navigationBar, attribute: .Trailing, relatedBy: .Equal, toItem: progressBar, attribute: .Trailing, multiplier: 1, constant: 0)

// add constraints
progressBar.translatesAutoresizingMaskIntoConstraints = false
navigationVC.view.addConstraints([bottomConstraint, leftConstraint, rightConstraint])
}
}

关于ios - 在 Navigation Controller 下添加一个 UIProgressView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20018936/

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