Dieses Problem ist aufgetreten, nachdem ich zu Xcode 8 gewechselt habe. Wenn ich zurück taste navigation bar mit vorheriger Farbe (schwarz) auftritt und dann ändert es sich normalerweise nach 2 Sekunden. Es gibt ein GUI-Update-Verzögerungsproblem.Xcode 8 Navigationsleiste Zurück Animation Problem
ich diesen Code verwenden vorherigen Navigationsleiste wiederherzustellen:
- (void)restorePreviousNavBarAppearance:(BOOL)animated {
if (_didSavePreviousStateOfNavBar) {
[self.navigationController setNavigationBarHidden:_previousNavBarHidden animated:animated];
UINavigationBar *navBar = self.navigationController.navigationBar;
navBar.tintColor = _previousNavBarTintColor;
navBar.translucent = _previousNavBarTranslucent;
if ([UINavigationBar instancesRespondToSelector:@selector(barTintColor)]) {
navBar.barTintColor = _previousNavBarBarTintColor;
}
navBar.barStyle = _previousNavBarStyle;
if ([[UINavigationBar class] respondsToSelector:@selector(appearance)]) {
[navBar setBackgroundImage:_previousNavigationBarBackgroundImageDefault forBarMetrics:UIBarMetricsDefault];
[navBar setBackgroundImage:_previousNavigationBarBackgroundImageLandscapePhone forBarMetrics:UIBarMetricsLandscapePhone];
}
// Restore back button if we need to
if (_previousViewControllerBackButton) {
UIViewController *previousViewController = [self.navigationController topViewController]; // We've disappeared so previous is now top
previousViewController.navigationItem.backBarButtonItem = _previousViewControllerBackButton;
_previousViewControllerBackButton = nil;
}
}
}