手机摄像头推流互联网网页无插件直播iPhoneX及以上型号手机使用EasyRTMP- iOS如何解决头部被遮挡的问题

EasyRTMP-iOS在iPhoneX及其以后的机型中,出现头部被遮挡的问题,如何解决?

分析问题

在iPhoneX及其以后的机型中,因为全面屏手机,都有刘海这样的设计,所以要特别计算下状态栏的高度,再来适应屏幕的布局。

解决问题

根据机型判断出状态栏的高度EasyBarHeight,和底部导航栏的高度EasyTabBarHeight:

//判断iPhoneX
#define IS_IPHONE_X ([UIScreen instancesRespondToSelector:
	@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), 
		[[UIScreen mainScreen] currentMode].size) && !isIPad : NO)
//判断iPHoneXr
#define IS_IPHONE_Xr ([UIScreen instancesRespondToSelector:
	@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), 
		[[UIScreen mainScreen] currentMode].size) && !isIPad : NO)
//判断iPhoneXs
#define IS_IPHONE_Xs ([UIScreen instancesRespondToSelector:
	@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), 
		[[UIScreen mainScreen] currentMode].size) && !isIPad : NO)
//判断iPhoneXs Max
#define IS_IPHONE_Xs_Max ([UIScreen instancesRespondToSelector:
	@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2688), 
		[[UIScreen mainScreen] currentMode].size) && !isIPad : NO)

//////navBar和tabBar的判断
#define EasyBarHeight ((IS_IPHONE_X==YES || IS_IPHONE_Xr ==YES || 
			IS_IPHONE_Xs== YES || IS_IPHONE_Xs_Max== YES) ? 44.0 : 20.0)
#define EasyNavHeight 44
#define EasyTabBarHeight ((IS_IPHONE_X==YES || IS_IPHONE_Xr ==YES || 
			IS_IPHONE_Xs== YES || IS_IPHONE_Xs_Max== YES) ? 83.0 : 49.0)

猜你喜欢

转载自www.cnblogs.com/TSINGSEE/p/11646603.html