如何以编程方式获取tabbar的高度?

我发现一个UITabBar的高度是49px(或50px,取决于来源)。

因为我不喜欢在我的代码中使用太多的硬编码值,所以想知道是否可以通过编程方式检索tabbar的高度。

亲切的问候,
Niels R.

PS:我问的原因是因为我有一个视图控制器(包含文本字段的列表视图),或者简单地由导航控制器(pushViewController)推送或作为模式(presentModalViewController)呈现。 一旦键盘显示出来,视图的大小就会减小,但是我必须考虑到,只有当视图控制器被按下时,tabbar才可见,而不是作为模式呈现。

我不完全理解你的PS,但你可以这样做:

tabViewController.tabBar.frame.size.height 

漂亮

 CGRectGetHeight(self.tabBarController.tabBar.frame) 

如果你想获得UITabBar控件的标准高度,那么你可以这样做:

  UITabBarController *tabBarController = [UITabBarController new]; CGFloat tabBarHeight = tabBarController.tabBar.frame.size.height; 

Swift 3 ,你可以用下面的代码检索UITabBar的高度。

self.tabBarController!.tabBar.frame.size.height

这将返回一个CGFloat值的高度

如果一个对象是基于UIView(库中大多数可视元素),你可以从伊娃“框架”获得大小。

UITabBar是从UIViewinheritance,只要你有权访问你的UITabBar实例,你可以访问和修改UITabBar的框架,

 CGRect myRect = myTabBar.frame; 

检查你的vc

 bottomLayoutGuide.length