2009-09-08 26 views
5

Mam aplikację na iPhone'a opartą na kontrolerze nawigacyjnym.Automatyczne ukrywanie UINavigationBar i UIToolbar

Mam główny kontroler widoku, który wyświetla listę artykułów, a także widok szczegółów, w którym można zobaczyć jeden artykuł w postaci UIWebView. W widoku szczegółowym mam pasek nawigacji u góry i UIToolbar u dołu.

Chciałbym automatycznie ukryć je za pomocą animacji slajdów (do góry i od dołu) i przywrócić je po dotknięciu ekranu. Myślałem, że to będzie standardowa funkcja, ale nie mogłem tego znaleźć.

Jako odniesienie, to właśnie robią aplikacje Stanza lub NYT.

Odpowiedz

17

Ustaw metodę, która działa to na razie z kranu:

if (![navigationController isNavigationBarHidden]) 
    [navigationController setNavigationBarHidden:YES animated:YES]; // hides 
else 
    [navigationController setNavigationBarHidden:NO animated:YES]; // shows 

chodzi o UIToolbar, to UIView podklasa, więc powinieneś być w stanie dość łatwo skonfigurować custom animation przesuwnych to w i poza zasięgiem wzroku.

1

Spróbuj tego:

BOOL hide = ![self.navigationController isNavigationBarHidden]; 
[self.navigationController setNavigationBarHidden:hide animated:YES]; 
1

Jest też całkiem użytecznym sposobem UIViewController.

- (BOOL) hidesBottomBarWhenPushed { 
//hide a toolbar or whatever 
return NO; 
} 
0

Chyba niedawno można użyć self.navigationController.hidesBarsOnTap = true;

Powiązane problemy