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

时间:2011-03-22 07:42:18

标签: ios iphone uikit uitabbarcontroller uitabbar

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

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

亲切的问候,
Niels R.

PS:我问的原因是因为我有一个视图控制器(带有包含文本字段的列表视图),它只是由navigationcontroller(pushViewController)推送或呈现为模态(presentModalViewController)。一旦键盘出现,视图的大小就会减小,但我必须考虑到只有在按下视图控制器时才能看到标签栏,而不是作为模态显示。

7 个答案:

答案 0 :(得分:130)

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

tabBarController?.tabBar.frame.size.height

答案 1 :(得分:14)

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

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

答案 2 :(得分:10)

更漂亮

CGRectGetHeight(self.tabBarController.tabBar.frame)

答案 3 :(得分:3)

Swift 3中,您可以使用以下代码检索UITabBar的高度。

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

将返回高度的CGFloat

答案 4 :(得分:3)

在你的vc中查看这个

<div *ngFor="let elem of data">{{elem.dataResults.name}}</div>

答案 5 :(得分:1)

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

答案 6 :(得分:1)

UITabBar继承自UIView,只要您有权访问您可以访问和修改UITabBar框架的UITabBar实例,

CGRect myRect = myTabBar.frame;