gpt4 book ai didi

iphone - UINavigationBar 颜色意外变化

转载 作者:行者123 更新时间:2023-12-03 21:12:53 25 4
gpt4 key购买 nike

在我当前的 UINavigationController 中,viewControllers 堆栈如下所示。1 -> 2 -> 3。但是,在从第二个 Controller 转换到第三个 Controller 之前,我先弹出第二个 Controller ,这样当弹出第三个 Controller 时,第一个 Controller 位于顶部。

[self.navigationController popViewControllerAnimated:NO];
[self.navigationController pushViewController:controller animated:YES ] ;

但是这样做会以某种方式将导航栏的颜色从原来的蓝色默认更改为黑色样式。在新 Controller 的 viewWillAppear 或 viewWillDisappear 中将 barStyle 显式设置为 UIBarStyleDefault 没有任何效果。奇怪的是,如果我设置了 barStyle,即使是 1 -> 2 过渡也会导致条形颜色变为黑色。

在写完这篇文章时,我意识到以下代码修复了这个问题。

navBar.barStyle = UIBarStyleDefault-1;

为什么我需要从默认值中减去 1 才能真正获得默认颜色?

最佳答案

我也遇到了同样的问题。我没有正式的答案,但我用我的方式修复了它:

-(void)viewWillAppear:(BOOL)animated { 
UIColor *navColor = [[UIColor alloc]initWithRed:0.742778 green:0.0181208 blue:0.0271147 alpha:1];
[self.navigationController.navigationBar setTintColor:navColor];}

我希望有人能提出更好的答案。

关于iphone - UINavigationBar 颜色意外变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1935490/

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