iOS 判断设备类型 宏定义导航栏和标签栏高度

由于iPhoneX系列手机的出现,导航栏和标签栏的高度不能写死,需要通过代码判断设备类型。随着iPhone X标配的iOS 11出现了safeArea的概念,可以通过safeArea获取导航栏和标签栏高度,当然低于iOS 11的肯定是正常的机型了。

// 屏幕大小
#define  ScreenBounds           [UIScreen mainScreen].bounds
#define  ScreenWidth            [UIScreen mainScreen].bounds.size.width
#define  ScreenHeight           [UIScreen mainScreen].bounds.size.height
// 屏幕宽度比例
#define  ScaleWidth             (ScreenWidth / 375.0f)
#define  ScaleHeight            (ScreenHeight / 667.0f)
#define  ScaleSize              ScaleWidth
// 状态栏高度
#define StatusBarHeight         [[UIApplication sharedApplication] statusBarFrame].size.height
// 导航栏高度
#define NavigationBarHeight     (StatusBarHeight + 44)
// 标签栏高度
#define TabBarHeight            ([Tools bottmHeight] + 49)
// 标签栏高度
#define BottomHeight            [Tools bottmHeight]
// 判断是否是iPhone X
#define IS_iPhoneX              [Tools isIphoneX]
// 判断是否是小屏幕
#define IS_iPhoneSE             (ScreenWidth < 375)
+ (BOOL)isIphoneX;
+ (CGFloat)bottmHeight;
+ (BOOL)isIphoneX {
    BOOL isIphoneX = NO;
    if (@available(iOS 11.0, *)) {
        UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window];
        if (mainWindow.safeAreaInsets.bottom > 0.0) {
            isIphoneX = YES;
        }
    }
    return isIphoneX;
}

+ (CGFloat)bottmHeight {
    if (@available(iOS 11.0, *)) {
        UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window];
        return mainWindow.safeAreaInsets.bottom;
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值