Comment puis-je masquer/afficher la tabBar gemmage l'utilisation de Swift dans iOS8
Je suis en train d'imiter le UINavigationController nouveau hidesBarsOnTap
avec une barre d'onglet. J'ai vu beaucoup de réponses à ce que le point de réglage de la hidesBottomBarWhenPushed
sur un viewController qui ne cache entièrement, et non pas lorsque vous appuyez dessus.
@IBAction func tapped(sender: AnyObject) {
//what goes here to show/hide the tabBar ???
}
merci d'avance
EDIT: comme par la suggestion ci-dessous, j'ai essayé
self.tabBarController?.tabBar.hidden = true
qui, en effet, masquer la tabBar (bascule vrai/faux sur le robinet), mais sans animation. Je vais demander que d'une question distincte si.
InformationsquelleAutor Michael Campsall | 2014-11-19
Vous devez vous connecter pour publier un commentaire.
Après beaucoup de chasse et d'essayer différentes méthodes pour normalement afficher/masquer la UITabBar l'utilisation de Swift, j'ai été en mesure de prendre cette grande solution par danh et de le convertir à Swift:
tabBarIsVisible()
pourrait être amélioré pour s'occuper des cas commeUIViewController
incorporé dansUINavigationController
comme ceci:func tabBarIsVisible() -> Bool { return self.tabBarController?.tabBar.frame.origin.y < UIScreen.mainScreen().bounds.height }
j'ai refait cette classe d'extensionAimé Michael Campsall de réponse. Voici le même code que l'extension, si quelqu'un est intéressé:
Swift 2.3
Swift 3
J'ai dû adapter les accepté de répondre à cette question un peu. Il se cachait de la barre, mais de mon point de vue n'était pas le dimensionnement elle-même conséquence, de sorte que j'ai été laissé avec un espace en bas.
Le code suivant avec succès anime le masquage de la barre d'onglet lors du redimensionnement de la vue afin d'éviter ce problème.
Mis à jour pour Swift 3 (maintenant avec moins laid code)
Âgées Swift 2 Version
touchesBegan
afin que je puisse toucher l'écran pour basculer 😉Vous suffit d'ajouter cette ligne à ViewDidLoad() dans swift :
- Je utiliser tabBar.hidden = OUI en ObjC masquer la barre d'onglets dans certains cas. Je n'ai pas essayé de câblage jusqu'à un robinet, bien que.
Code est ok, mais lorsque vous utilisez
presentViewController
,tabBarIsVisible()
ne fonctionne pas. Pour garderUITabBarController
toujours cachés utilisez juste cette partie:Swift 3 version:
Pour Swift 4, et d'animer + masquage par placer tabBar en dehors de la vue:
Pour faire les animations de travail avec
self.tabBarController?.tabBar.hidden = true
viens de le faire:Autres que l'autre solution ceci fonctionnera aussi bien avec une mise en page automatique.
@IBAction func tapped(sender: AnyObject)
fonction? Avez-vous attacher un débogueur encore et voir si votre application s'arrête à l'intérieur de laanimateWithDuration
bloc?