Nie uwierzyłbyś w długość, przez którą przeszedłem, aby faktycznie to umożliwić; denerwowało mnie to bez końca, że nie jest to funkcja "iOS" i że przejście odcień tintColor wygląda brzydko, podczas gdy animacja do push/pop viewController jest tak gładka.
Jest tam wiele kodów, które sprawdzają, czy , gdy zanikiem, a nawet napisałem klasę o nazwie PSPDFNavigationAppearanceSnapshot, aby zachować stan nawigacji podczas otwierania. (Mam ten pomysł z niesamowitej NimbusKit)
Rzeczywista animacji jest bardzo proste:
[self.navigationController.navigationBar.layer addAnimation:PSPDFFadeTransition() forKey:nil];
CATransition *PSPDFFadeTransition(void) {
return PSPDFFadeTransitionWithDuration(0.25f);
}
CATransition *PSPDFFadeTransitionWithDuration(CGFloat duration) {
CATransition *transition = [CATransition animation];
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade;
transition.duration = duration;
return transition;
}
można zagęszczać ten kod nawet więcej; jest to wycinek z mojej biblioteki plików iOS PDF PSPDFKit i używam zanikania w różnych miejscach, a więc funkcje pomocnicze.
Jeśli widzisz ten post, to stary i znaleźć rozwiązanie w innym wątku: http://stackoverflow.com/questions/20377628/transition-color/20396308?noredirect=1# 20396308 – Pull