美文网首页
IOS之启动图尺寸及设置

IOS之启动图尺寸及设置

作者: 夜之海澜 | 来源:发表于2019-08-16 17:01 被阅读0次

昨天为了适配iPhone X系列的屏幕时发现项目中并没有正确配置启动图,导致最初定义的宏不好使。宏的代码如下:


// 设备是否是iPhoneX
#define kDevice_is_iPhone_X ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
//判断iPHoneXr
#define kDevice_is_iPhone_XR ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size) : NO)
//判断iPhoneXs
#define kDevice_is_iPhone_XS ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
//判断iPhoneXs Max
#define kDevice_is_iPhone_XS_Max ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size) : NO)

启动图放的尺寸如下图,如果此处的启动图的尺寸设置不正确,那么上述定义的宏会一直不好使。


1565945763590.jpg

在项目中我们可能会用到iPhone X系列来进行机型的判断,然后去适配,在启动图设置正确之后可以使用上述的宏,也可以用另外一个方法,写起来会更简便一些,即便以后新增机型,我们也不用每次都去新增一个尺寸。方法如下

// 判断是否为iPhone X 系列  
#define kDevice_iPhoneX_Series \
({BOOL isPhoneX = NO;\
if (@available(iOS 11.0, *)) {\
isPhoneX = [[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom > 0.0;\
}\
(isPhoneX);})

相关文章

网友评论

      本文标题:IOS之启动图尺寸及设置

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