2013-04-05 15 views
7

Mam dziwny problem z kontrolerem nawigacyjnego tylnej animacji przycisku:UINavigationController z powrotem przycisk nie animowanie

moja aplikacja ma kontrolę pasku kart z 3 kartami, jeden z nich posiada kontroler nawigacji z dwóch kolejnych kontrolerów widoku , pierwszy po prostu pokazuje stół główny, a drugi szczegóły, problem pojawia się, gdy dotknę przycisku wstecz od kontrolera widoku szczegółów, zamiast powrotu do głównego kontrolera widoku po prostu wyskakuje widok bez animacji.

Zauważyłem, że jeśli najpierw przejdę do innej karty, a następnie wrócę do tej, animacja zostanie uruchomiona normalnie.

Odtworzono całą nawigację w aplikacji od zera, ale problem nadal występuje, każda pomoc jest doceniana.

Z góry dzięki !.

Edycja: Więcej informacji dodany

To jest jak moja storyboard wygląda w danej branży: enter image description here

Oto prepareForSegue z "Partidos activos" widoku kontrolera:

#pragma mark - Segues 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
    if ([segue.identifier isEqualToString:@"PartidosEnDia"]) { 
     PartidosActivosEnFecha *paf = segue.destinationViewController; 
     CalendarCell *senderCell = (CalendarCell *)sender; 
     paf.datos = senderCell.dataDic; 
    } 
} 

Both metody viewController viewDidLoad wywołują super na początku metody.

Jak już wcześniej wspomniałem, jeśli po prostu dotknę innej karty, a następnie wrócę do tej, animacja slajdów z "Partidos Activos En Fecha" viewController działa zgodnie z oczekiwaniami, to tylko wtedy, gdy uruchomię aplikację i przejdę bezpośrednio do tego widokuController, gdy animacja poślizgu nie działa i po prostu dostaje się do wywołującego viewController bez animacji.

Mam nadzieję, że dodałem wystarczającą ilość informacji, jeśli nie tylko mi powiedz, a dodam ją ponownie.

+2

Widziałem kilka innych podobnych problemów. W co najmniej jednym z nich problemem było posiadanie viewDidLoad lub viewDidAppear bez wywoływania super w nich. – rdelmar

+0

Jaka jest Twoja docelowa wersja systemu iOS? – Undo

+0

Im faktycznie kierowania na iOS 6, a także sprawdzone połączenia do super :( – Rubs

Odpowiedz

0

Myślę, że this to jest to, czego chcesz. Jeśli rozumiem, twoim problemem jest obsługa stosu kontrolera nawigacyjnego, prawda? Więc sprawdź ten link.

9

W końcu znalazłem, gdzie był problem, brakowało mi połączenia do super w metodzie viewDidAppear, ale w UITabBarController !, Sprawdzałem tylko viewControllers dla kart, ale nie tabbarviewcontroller, @rdelmar miał rację;).

Dziękuję wszystkim za pomoc !.

+0

Kliknij pole wyboru pod głosowaniem w górę/w dół, aby zaakceptować odpowiedź: – logixologist

+0

Moja pisownia polegała na tym, że nazywam '[super viewDidDisappear: animated];' zamiast didAppear. – user3099609

5

Miałem dokładnie ten sam problem. Powodem dla mnie była pusta metoda viewDidAppear:animated w moim UITabBarController. Po usunięciu tej metody animacja znów działała normalnie.

Powiązane problemy