可能是由于以下原因:
- 导航栏样式设置问题:在viewWillAppear中设置导航栏标题颜色时,可能未正确设置导航栏的样式。确保在设置标题颜色之前,正确设置导航栏的样式为自定义样式。
- 导航栏样式被其他代码修改:在viewWillAppear之后的代码中,可能存在修改导航栏样式的代码,导致标题颜色被重置为默认黑色。检查其他可能修改导航栏样式的代码,并确保没有覆盖你在viewWillAppear中设置的颜色。
- 导航栏样式被系统默认值覆盖:某些情况下,系统可能会自动将导航栏样式重置为默认值,包括标题颜色。可以尝试在viewDidAppear中重新设置导航栏标题颜色,以确保在视图显示后再次设置颜色。
- 导航栏样式被其他视图控制器修改:如果当前视图控制器是导航栏的子视图控制器,其他视图控制器可能会在切换时修改导航栏样式,导致标题颜色变为默认黑色。可以在其他视图控制器的viewWillDisappear中设置导航栏样式为自定义样式,以避免影响当前视图控制器的导航栏样式。
总结:要解决navigationBar标题变为默认黑色的问题,需要确保正确设置导航栏的样式,并检查其他可能修改导航栏样式的代码。如果问题仍然存在,可以尝试在viewDidAppear中重新设置导航栏标题颜色,或者检查其他视图控制器是否影响了导航栏样式。