Odpowiedz

1

Przyczyną tego jest to, że viewController przodek nie jest prawidłowo ustawiony. na przykład wyobrazić:

UIViewController * myController = ... // a view controller without a proper ancestor 

teraz:

myController.tabBarController == nil 

Dlatego:

[myController presentModalViewController:otherController]; 

Czy uda (pokazując na podstawie paska kart). Rozwiązaniem jest dodanie MyController jego przodka poprzez

[parentController addChildViewController:myController]; 

Teraz parentController musi zostać dodany do innego kontrolera w taki sam sposób i tak dalej, aż jeden korzeń to tabController. Ta funkcja jest dostępna tylko w systemie iOS 5+. Jeśli tworzysz na system iOS 4 lub wcześniejszy, będziesz musiał obejść ten problem, upewniając się, że wszystkie kontrolery są bezpośrednio dodane do kontrolera UINav lub UITab. Jeśli nie jest to możliwe, będziesz musiał uzyskać dostęp do UITabBarController za pośrednictwem zmiennej globalnej.

+0

użyłem globalny Dzięki –

14

starają się przedstawić modalne widoku z UITabBarController:

[self.tabBarController presentModalViewController:modalView animated:YES]; 
+0

widok modalne kontroler nie pokazuje w ogóle ((( –

+0

Twój TabBarController jest wyświetlany jako zero tutaj. – George

1

W moim przypadku przedstawiono widok kontroler miał UIModalPresentationStyle.CurrentContext na .modalPresentationStyle, który wydał tab bar nakładania

+0

Hej, jesteś w stanie rozwiązać ten problem Mam ten sam problem.: | –

+0

@YashBedi, tak, ustawiłem modalny styl prezentacji na domyślny. W moim przypadku styl prezentacji modalnej został zmieniony z domyślny przez wypadek – Tim

+0

ohkay kewl dzięki, –