Moja aplikacja jest aplikacją z zakładkami i ma kilka kontrolerów w ramach tabBarController. Jeden kontroler to navigationController, a jego głównym widokiem jest widok tabeli. Po kliknięciu wiersza widoku tabeli zostanie wyświetlony inny widok. Pytanie jest więc takie, że kiedy widok jest wciśnięty, jak mogę ukryć tabBar na dole? Poza tym również chcę dodać kolejny tabBar do widoku pushed, więc muszę przydzielić UITabBar lub UITabBarController? Lub jest inny sposób? Dziękuję Ci!Jak ukryć tabBar po naciśnięciu klawisza?
18
A
Odpowiedz
48
8
5
Czasami metoda hidesBottomBarWhenPushed ukrywa dolny pasek z wzburzony animacji.
Zamiast tego ukrywa zakładkę w viewDidLoad z
self.tabBarController.tabBar.hidden = YES;
i przywrócić swoją obecność w viewWillDisappear
self.tabBarController.tabBar.hidden = NO;
+0
niezbyt, jak zakładasz w tym VC, że inny VC na stosie chce tabbar - również 'viewDidLoad' jest niewłaściwą lokalizacją, ponieważ może być wywołana, nawet jeśli ten VC jeszcze się nie pojawia, również' self.tabBarController' może być 'nil' – fabb
12
Dzięki! Użyłem tej metody, ale nadal nie działa. Użyłem również "myViewController.tabBarController.hidesBottomBarWhenPushe = YES", i to też nie działało. Jestem zdezorientowany. Czy muszę zmienić swoją strukturę, czy istnieją lepsze sposoby? Dziękuję Ci! – wjldxt
Mam podobną aplikację TabBar z NavigationController jako jej pierwszy kontroler, ale w navigationController dodałem tylko tableView, a następnie push inny widok w didSelectRow metood widoku tabeli. czy wziąłeś tableVeiwController zamiast prostej tableView .. ?? byłoby pomocne, jeśli wkleisz część kodu tutaj – Bonnie
Dziękujemy! Zrobiłem to w końcu. To moja wina, że umieściłem navigationController w viewController. Kiedy używam navigationController bezpośrednio, to się udało. Dziękuję Ci bardzo! – wjldxt