【问题标题】:Default navigation bar height iosios默认导航栏高度
【发布时间】:2019-05-26 23:22:00
【问题描述】:

在我的一个控制器中,我使用自定义工具栏,我想在 ios 中获取默认工具栏(导航栏)的高度。我使用了宏#define NAVBAR_HEIGHT self.navigationController.navigationBar.frame.size.height

但是,当控制器未嵌入导航堆栈时,该宏将返回零。

我不想使用 44 的常量,因为在其他 Apple 设备上可能会有所不同。

对于我使用的标签栏:

+(CGFloat)getTabBarHeight{

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

有没有类似的sn-p,所以我可以返回导航控制器工具栏的值?

【问题讨论】:

    标签: ios uinavigationcontroller


    【解决方案1】:

    我不确定 Objective C - 但在 Swift 3 / 4 中你可以做到

    func getNavBarHeight() -> CGFloat {
        return self.navigationController?.navigationBar.frame.size.height
    }
    

    这要求您将视图控制器嵌入 UINavigationController。如果你没有这个,你可以这样做:

    func getNavBarHeight() -> CGFloat {
        let nav = UINavigationController()
        return nav.navigationBar.frame.size.height
    }
    

    【讨论】:

    • 谢谢,完美的答案兄弟
    猜你喜欢
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 2013-09-27
    • 2015-11-15
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多