/ / Nie można ukryć paska UITabBar po naciśnięciu określonej zakładki [Aplikacja paska zakładek] - szablon - iphone, ios, ios4, uitabbarcontroller, uitabbar

Cant ukryj UITabBar po naciśnięciu określonej zakładki [Tab Bar Application] -template - iphone, ios, ios4, uitabbarcontroller, uitabbar

deweloperzy!

Obecnie pracuję nad aplikacją, która korzysta z szablonu aplikacji paska kart. Co chcę zrobić polega na zasymulowaniu strony startowej mojej aplikacji, która odpowiada pierwszej karcie.

Dlatego po uruchomieniu aplikacji wybierana jest pierwsza kartaa UITabBar nie powinien być widoczny. W tym "widoku startowym" jest wiele przycisków, które działają jak pozostałe zakładki, więc na przykład wciskam przycisk nr 2, a drugi widok zakładki jest wciskany i UITabBar jest ponownie widoczny.

Mój problem polega na tym, że mam sposób na ukrycie paska, ale widok podrzędny nie zmienia rozmiaru na pełny ekran.

Używając: [self.tabBarController.tabBar setHidden: YES];

Próbowałem też użyć: self.hidesBottomBarWhenPushed = YES;

Ale wydaje się, że nie ma to żadnego efektu i nie jestem pewien, gdzie dodać kod, ponieważ używam szablon.

Czy ktoś wie, jak to zaimplementować, korzystając z szablonu aplikacji paska kart?

Domyślam się, że powinno to być: - (void) tabBarController: (UITabBarController *) tabBarController didSelectViewController: (UIViewController *) viewController

Ale próbowałem tego i ta metoda nigdy nie jest nazywana ...

Wielkie dzięki, Robert

Odpowiedzi:

2 dla odpowiedzi № 1

Ten kod może pomóc ukryć kontroler tabulatorów i zmienić rozmiar kontrolera widoku.

    - (void) hideTabBar:(UITabBarController *) tabbarcontroller {

int height = 480;

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];

for(UIView *view in tabbarcontroller.view.subviews) {
if([view isKindOfClass:[UITabBar class]]) {
[view setFrame:CGRectMake(view.frame.origin.x, height, view.frame.size.width, view.frame.size.height)];
}
else {
[view setFrame:CGRectMake(view.frame.origin.x,view.frame.origin.y, 320, 436)];
}
}

[UIView commitAnimations];
}

Ta druga metoda może pomóc ponownie ustawić tababr w widoku

    - (void) showTabBar:(UITabBarController *) tabbarcontroller {

int height = 480;

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];

for(UIView *view in tabbarcontroller.view.subviews) {

if([view isKindOfClass:[UITabBar class]]) {
[view setFrame:CGRectMake(view.frame.origin.x, height, view.frame.size.width, view.frame.size.height)];
}
else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, height)];
}
}

[UIView commitAnimations];
}

proszę zrozumieć kod przed zaimplementowaniem go w swoim kodzie ...