好的,这个让我做了一个新的测试项目,看看问题是否仍然存在。它是。所以我用两个视图控制器和视图制作了一个非常简单的应用程序。带有按钮的第一个视图被推到第二个视图。第二个视图使用此代码将导航栏标题颜色更改为红色。
- (void)viewDidLoad
{
[super viewDidLoad];
[self setTitle:@"SecondView"];
//sets navBar TITLE color and font
NSDictionary *textAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor redColor],NSForegroundColorAttributeName,
nil];
self.navigationController.navigationBar.titleTextAttributes = textAttributes;}
默认 view1 标题颜色为绿色,导航栏为黑色。(设置这个看看我的意思)
问题是当使用导航栏上自动创建的返回按钮返回时,标题会短暂显示旧的绿色几毫秒,然后褪色为新的红色。我试过调用 viewWillAppear 并重新设置导航栏标题的颜色,但它甚至没有工作。这不是一个错误吗?
编辑我还尝试通过委派来更改以前导航栏的颜色......同样的事情.. wtf?这显然是一个错误..!
编辑编辑:我现在意识到,只有当您要返回到已经堆叠的视图时,它才会从黑色(总是黑色)-> 到自定义颜色的过渡效果。