好的,我让我做了一个新的测试项目,看看问题是否仍然存在。它是。所以我用两个视图控制器和视图创建了一个非常简单的应用程序。带有按钮的第一个视图,该按钮被推送到第二个视图。第二个视图使用此代码将导航栏标题颜色更改为红色。
- (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?这一定是一个明显的错误..!编辑编辑:我现在意识到它的转换效果来自黑色(总是黑色) - >只有在你回到已经堆叠的视图时才能自定义颜色。