web-dev-qa-db-ja.com

プログラムでタブバーの高さを取得する方法は?

UITabBarの高さは49px(またはソースによっては50px)であることがわかりました。

私はコードでハードコードされた値をあまり使いたくないので、プログラムでタブバーの高さを取得できるかどうか疑問に思っていました。

敬具、
Niels R.

PS:私が求めている理由は、NavigationController(pushViewController)によって単にプッシュされるか、モーダル(presentModalViewController)として表示されるView Controller(テキストフィールドを含むリストビュー)があるためです。キーボードが表示されるとすぐに、ビューのサイズが小さくなりますが、View Controllerが押されてモーダルとして表示されない場合にのみタブバーが表示されることを考慮する必要があります。

51
Niels R.

私はあなたのP.S.を完全には理解していませんが、次のことができます:

tabBarController?.tabBar.frame.size.height
131
Mason

UITabBarコントロールの標準の高さを取得する場合は、次を実行できます。

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

きれいな

CGRectGetHeight(self.tabBarController.tabBar.frame)
10
Nick Ginanto

あなたのVCでこれを確認してください

bottomLayoutGuide.length
3
Adam Smaka

Swift 3、次のコードでUITabBarの高さを取得できます。

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

これは、高さのCGFloat値を返します

3

オブジェクトがUIView(ライブラリ内のほとんどの視覚要素)に基づいている場合、ivar "frame"からサイズを取得できます。

1
Hack Saw

UITabBarは、TabBarのフレームにアクセスして変更できるUITabBarインスタンスにアクセスできる限り、UIViewから継承されます。

CGRect myRect = myTabBar.frame;
1
Jhaliya