iOS object-c 获取导航栏的高度 封装成宏定义 适配iphone14等等 多个手机型号
可以通过以下方式获取导航栏的高度,并将其封装成宏定义,以适配多个iPhone型号:
// 导航栏高度宏定义
#define NAVIGATION_BAR_HEIGHT \
^CGFloat() {\
CGFloat height = 0.0;\
if (@available(iOS 11.0, *)) {\
UIWindow *window = UIApplication.sharedApplication.windows.firstObject;\
height = window.safeAreaInsets.top > 0 ? window.safeAreaInsets.top : 44.0;\
} else {\
height = 64.0;\
}\
return height;\
}()
// 使用示例
CGFloat navigationBarHeight = NAVIGATION_BAR_HEIGHT;
这个宏定义的实现逻辑是,首先判断当前设备的iOS版本是否大于等于11.0,如果是,则使用safeAreaInsets属性获取导航栏的安全区域高度,否则默认为64.0。
这样的实现方式可以适配iPhone X及以上型号的设备,如果是iPhone X及以上型号,导航栏的高度为安全区域高度(如iPhone X为44.0),否则为64.0
原文地址: https://www.cveoy.top/t/topic/ixa9 著作权归作者所有。请勿转载和采集!