J'ai découvert que la hauteur d'un UITabBar est de 49 px (ou 50 px, selon la source).
Parce que je n'aime pas utiliser trop de valeurs codées en dur dans mon code, je me demandais s'il était possible de récupérer la hauteur de la barre de tabulation par programme.
Sincères amitiés,
Niels R.
PS: La raison pour laquelle je pose la question est parce que j'ai un contrôleur de vue (avec une vue de liste contenant des champs de texte) qui est soit simplement poussé par le contrôleur de navigation (pushViewController) ou présenté comme un modal (presentModalViewController). Dès que le clavier apparaît, la taille de la vue est réduite, mais je dois tenir compte du fait que la barre d'onglets n'est visible que lorsque le contrôleur de vue est poussé et n'est pas présenté comme un modal.
Je ne comprends pas totalement votre P.S., mais vous pouvez faire:
tabBarController?.tabBar.frame.size.height
Si vous souhaitez obtenir la hauteur standard pour le contrôle UITabBar, vous pouvez faire:
UITabBarController *tabBarController = [UITabBarController new];
CGFloat tabBarHeight = tabBarController.tabBar.frame.size.height;
plus jolie
CGRectGetHeight(self.tabBarController.tabBar.frame)
vérifiez cela dans votre vc
bottomLayoutGuide.length
Dans Swift 3
, vous pouvez récupérer la hauteur du UITabBar
avec ce code ci-dessous.
self.tabBarController!.tabBar.frame.size.height
Qui renverra une valeur CGFloat
de la hauteur
Si un objet est basé sur UIView (qui sont la plupart des éléments visuels de la bibliothèque), vous pouvez obtenir la taille du "cadre" ivar.
UITabBar
est hérité de UIView
tant que vous avez accès à votre instance UITabBar, vous pouvez accéder et modifier le cadre de UITabBar,
CGRect myRect = myTabBar.frame;