I set default appearance in AppDelegate:
NSDictionary *barButtonAppearanceDict = @{NSFontAttributeName : FONT_MAIN_NAVIGATION};
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateNormal];
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateApplication];
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateDisabled];
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateHighlighted];
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateReserved];
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateSelected];
I open first ViewController (navigation bar item is OK= FONT_MAIN_NAVIGATION) and then I open modal ViewController and when dismiss modal viewController first ViewController change navigation bar item to default. Why did it change it back to default, because I do not set it anywhere else. How could I prevent (fix) it.