Question

J'ai une question assez simple mais la réponse n'est pas si facile.

Je souhaite masquer une barre UITabBar lorsque mon orientation change.

J'ai regardé de deux manières:

Façade

myAppDelegate.tabBarController.tabBar.frame = CGRectMake(<<bottomOfScreen>>);

Fonctionne bien mais j'ai une zone vide. Essayez donc de jouer avec tabBarController.view.frame et myViewController.view.frame mais je n'ai pas obtenu de bon résultat.

Voie du contrôleur de navigation

myOtherVC.hideTabBarWhenPushed = YES;
[self.navigationController pushViewController:myOtherVC animated:NO];

Fonctionne mais n'est pas une bonne solution pour mon application

Mise à jour:

[appDelegate.tabBarController.view removeFromSuperview];
[self.view removeFromSuperview]; [appDelegate.window addSubview:self.view];
self.view.frame = CGRectMake(0,0,480,320);

Fonctionne bien mais ne fait plus d’autorotation automatique (et bien sûr, je n’ai pas modifié le paramètre DevraitAutorotate et il renvoie toujours OUI)

Comment masquer ma barre de tabulation et faire en sorte que la vue actuelle prenne sa place?

Merci

Était-ce utile?

La solution

Vous pouvez utiliser la solution actuelle associée à:

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) name:@"UIDeviceOrientationDidChangeNotification" object:nil];

pour détecter la rotation. (Je pense que vous combinez cela avec view.transform = CGAffineTransformMakeRotation pour le faire pivoter ...?)

Autres conseils

Je pense que vous pouvez facilement faire cela de deux manières:

  1. pour recharger les objets dans le contrôleur tabBar - avec le paramètre hidesBottomBarWhenPushed défini sur YES pour les viewControllers que vous souhaitez masquer.
  2. L’autre option consiste simplement à faire en sorte que votre vue soit la seule vue possible pour la fenêtre lorsque le téléphone est pivoté, puis remettez le fichier tabBarController.view dans la fenêtre lorsque le téléphone subit une rotation

J'espère que cela vous aidera

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top