美文网首页
iOS 宏定义-获取状态栏、导航栏、tabBar高度

iOS 宏定义-获取状态栏、导航栏、tabBar高度

作者: 它是一只肥猫 | 来源:发表于2020-07-28 15:24 被阅读0次

    仅供记录,下次用的时候方便

    获取状态栏、导航栏、tabBar高度

    //获取状态栏的高度
    CGFloat statusHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;
    NSLog(@"状态栏高度:%f",statusHeight);
    
    //获取导航栏的高度
    CGFloat navHeight = self.navigationController.navigationBar.frame.size.height;
    NSLog(@"导航栏高度:%f",navHeight);
    
    //获取tabBar的高度
     //1.在tabBarController中使用(你的继承自UITabBarController的VC)
    CGFloat tabBarHeight = self.tabBar.frame.size.height;
    NSLog(@"tabBar高度:%f",tabBarHeight);
    //2.在非tabBarController中使用
    UITabBarController *tabBarVC = [[UITabBarController alloc] init];//(这儿取你当前tabBarVC的实例)
    CGFloat tabBarHeight = tabBarVC.tabBar.frame.size.height;
    NSLog(@"tabBar高度:%f",tabBarHeight);
    

    宏定义状态栏、导航栏、tabBar高度

    #define kIs_iphone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    #define kIs_iPhoneX kScreenWidth >=375.0f && kScreenHeight >=812.0f&& kIs_iphone
    
    /*状态栏高度*/
    #define kStatusBarHeight (CGFloat)(kIs_iPhoneX?(44.0):(20.0))
    /*导航栏高度*/
    #define kNavBarHeight (44)
    /*状态栏和导航栏总高度*/
    #define kNavBarAndStatusBarHeight (CGFloat)(kIs_iPhoneX?(88.0):(64.0))
    /*TabBar高度*/
    #define kTabBarHeight (CGFloat)(kIs_iPhoneX?(49.0 + 34.0):(49.0))
    /*顶部安全区域远离高度*/
    #define kTopBarSafeHeight (CGFloat)(kIs_iPhoneX?(44.0):(0))
     /*底部安全区域远离高度*/
    #define kBottomSafeHeight (CGFloat)(kIs_iPhoneX?(34.0):(0))
    /*iPhoneX的状态栏高度差值*/
    #define kTopBarDifHeight (CGFloat)(kIs_iPhoneX?(24.0):(0))
    /*导航条和Tabbar总高度*/
    #define kNavAndTabHeight (kNavBarAndStatusBarHeight + kTabBarHeight)
    
    tabb.jpg

    相关文章

      网友评论

          本文标题:iOS 宏定义-获取状态栏、导航栏、tabBar高度

          本文链接:https://www.haomeiwen.com/subject/hdbfrktx.html