gpt4 book ai didi

ios - 在 UINavigationController 的 UINavigationBar 内部或顶部显示 UIProgressView

转载 作者:技术小花猫 更新时间:2023-10-29 10:07:15 24 4
gpt4 key购买 nike

我想要一个 UIProgressView 来显示导航栏底部的进度(就像在 iOS 7 中发送 iMessage 或短信时一样)。但我需要在我的导航 Controller 的每个 TableView View 中始终如一地使用它。所以对我来说很清楚:我必须将其添加到 UINavigationController。但问题是,不可能将 UIProgressView 添加到 UINavigationController。所以我尝试了两件事:

1st 我尝试以编程方式将它添加到 UINavigationController 的 View 中。但问题是定位 UIProgressView 并使其在更改设备旋转时看起来不错。

我尝试的第二件事是将 UIProgressView 添加到每个 UITableView,但我真的必须为每个 View 都这样做。它看起来也不太好,因为它不在导航栏的顶部而是在其下方。但我不喜欢第二种解决方案的主要原因是 ProgressViews 随附了他们的 TableView,所以你没有静态的,而是不断变化的。

在此之后,我不知道该怎么做,所以我问你......有没有人知道如何做?

它应该是这样的: enter image description here

最佳答案

我终于找到了解决办法:

我制作了一个自定义 UINavigationController 并将其添加到 viewDidLoad

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.

progress = [[UIProgressView alloc] init];

[[self view] addSubview:progress];

UIView *navBar = [self navigationBar];


[[self view] addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[navBar]-[progress(2@20)]"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:NSDictionaryOfVariableBindings(progress, navBar)]];

[[self view] addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[progress]|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:NSDictionaryOfVariableBindings(progress)]];

[progress setTranslatesAutoresizingMaskIntoConstraints:NO];

[progress setProgress:0 animated:NO];
}

我创建了一个新的 UIProgressView(我在 @interface 中声明)添加了约束以将其定位在导航栏下方并且(这一步很重要:)将 translatesAutoresizingMaskIntoConstraints 设置为

关于ios - 在 UINavigationController 的 UINavigationBar 内部或顶部显示 UIProgressView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19211999/

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