È possibile nasconderlo con l'animazione?Come nascondere UITabBarController a livello di programmazione?
9
A
risposta
22
Un UITabBar eredita da UIView, quindi puoi nasconderlo e animarlo come faresti con un UIView standard.
- (void) hideTheTabBarWithAnimation:(BOOL) withAnimation {
if (NO == withAnimation) {
[theTabBar setHidden:YES];
} else {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate:nil];
[UIView setAnimationDuration:0.75];
[theTabBar setAlpha:0.0];
[UIView commitAnimations];
}
}
20
5
È anche possibile nasconderlo utilizzando la finestra di ispezione attributi:
ma non con un'animazione.
+0
Questo è semplice e perfetto –
0
un'altra soluzione che uso: metodi di chiamata quando si desidera nascondere Menu:
//Show Tab Bar
[self showTabBar:self.tabBarController];
//If You Want to Hide/Show Navigation Bar Also
[self.navigationController setNavigationBarHidden: NO animated:YES];
//Hide Tab Bar
[self hideTabBar:self.tabBarController];
//If You Want to Hide/Show Navigation Bar Also
[self.navigationController setNavigationBarHidden: YES animated:YES];
Metodi:
- (void)hideTabBar:(UITabBarController *) tabbarcontroller
{
[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, 480, view.frame.size.width,
view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y,
view.frame.size.width, 480)];
}
}
[UIView commitAnimations];
}
- (void)showTabBar:(UITabBarController *) tabbarcontroller
{
[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, 431, view.frame.size.width,
view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y,
view.frame.size.width, 431)];
}
}
[UIView commitAnimations];
}
1
-(void)hideTabBar
{ UITabBarController * tabbarcontroller= appDelegate.tabBarVC;
if (tabbarcontroller.tabBar.isHidden)
{
return;
}
tabbarcontroller.tabBar.hidden=YES;
CGRect frm=tabbarcontroller.view.frame;
frm.size.height += tabbarcontroller.tabBar.frame.size.height;
tabbarcontroller.view.frame=frm;
}
-(void)showTabBar
{ UITabBarController * tabbarcontroller=appDelegate.tabBarVC;
if (!tabbarcontroller.tabBar.isHidden)
{
return;
}
CGRect frm=tabbarcontroller.view.frame;
frm.size.height -= tabbarcontroller.tabBar.frame.size.height;
tabbarcontroller.view.frame=frm;
tabbarcontroller.tabBar.hidden=NO;
}
here appDelegate is = (AppDelegate *) [[UIApplication sharedApplication] delegate]
tabBarVc is UITabBarController *tabBarVC defined as property in app delegate
hope this helps
Problemi correlati
- 1. , verificare a livello di programmazione
- 2. come inviare sms a livello di programmazione?
- 3. Come impostare windowDrawsSystemBarBackgrounds a livello di programmazione?
- 4. Come disabilitare SparkUI a livello di programmazione?
- 5. Come configurare ELMAH a livello di programmazione?
- 6. Come attivare "Installato" a livello di programmazione?
- 7. Come programmare un'attività a livello di programmazione
- 8. Come aprire selezionare a livello di programmazione
- 9. Come utilizzare AcroTextExtractor.exe a livello di programmazione?
- 10. Ionico come tornare a livello di programmazione
- 11. Come mostrare/nascondere il cassetto di navigazione a livello di programmazione
- 12. Come ottenere a livello di programmazione il livello audio corrente?
- 13. Come posso impostare a livello di programmazione la scheda selezionata di UITabBarController attivando anche shouldSelectViewController in UITabBarControllerDelegate
- 14. come nascondere la tastiera in jquery mobile a livello di programmazione su focus()
- 15. Creazione di ListView a livello di programmazione
- 16. Creazione di UITableView a livello di programmazione
- 17. Ordinamento di JTable a livello di programmazione
- 18. Creazione di UIWebView a livello di programmazione
- 19. creazione di uiview a livello di programmazione?
- 20. C# crea report a livello di programmazione
- 21. Come si aggiunge UIButton a UIToolBar a livello di programmazione?
- 22. Come rispondere a una chiamata a livello di programmazione
- 23. Come faccio a scrollare a livello di programmazione TreeView?
- 24. Modifica layout widget a livello di programmazione
- 25. disinserire a livello di programmazione un'applicazione predefinita
- 26. Modifica Info.plista possibile a livello di programmazione?
- 27. Impostare NSWindow Size a livello di programmazione
- 28. GradientDrawable change angle a livello di programmazione
- 29. Selezionare una voce della barra di tabulazione a livello di codice (non utilizzando UITabBarController)
ho messo una variazione sulle soluzioni proposte qui di seguito qui: http: //stackoverflow.com/questions/4031804/how-to-hide-tab-bar-programatically-and-then-expand-view-to-fit/15855340#15855340 – juggler