可以使用以下宏定义来获取导航栏的高度,并适配多个手机型号:

#define IS_IPHONE_X_XR_XS_XSMax (IS_IPHONE_X || IS_IPHONE_XR || IS_IPHONE_XS || IS_IPHONE_XSMax)
#define IS_IPHONE_X (CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(375, 812)) || CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(812, 375)))
#define IS_IPHONE_XR (CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(414, 896)) || CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(896, 414)))
#define IS_IPHONE_XS (CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(375, 812)) || CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(812, 375)))
#define IS_IPHONE_XSMax (CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(414, 896)) || CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(896, 414)))

#define NAVIGATION_BAR_HEIGHT (IS_IPHONE_X_XR_XS_XSMax ? 88 : 64)

使用方法:

CGFloat navigationBarHeight = NAVIGATION_BAR_HEIGHT;
iOS Object-C 获取导航栏高度 适配 iPhone 14 等多种机型 - 宏定义封装

原文地址: https://www.cveoy.top/t/topic/qevL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录