启动图
iPhone XR:828px x 1792px
iPhone XS Max: 1242px x 2688px
LaunchImage中只有iPhone X/iPhone XS
项目中使用LaunchImage做启动图,旧版Xcode的LaunchImage中可能没有iPhone XR/iPhone XS Max的图片框,Xcode升级到最新版后,就会多出iPhone XR、iPhone XS Max两个图片框。
XCode9 LaunchImage
XCode10 GM LaunchImage
iPhone XR / XS Max 对老版本兼容请求
如果我们只设置iPhone X的启动图,没有设置iPhone XR/iPhone XS Max启动图。iPhone XR/iPhone XS Max会默认使用iPhone X的启动图。
判断是否是iPhone X时需要注意
以前判断是否是iPhone X,主要是对顶部安全区做些特殊处理。鉴于iPhone X/XS/XR/XS Max底部都会有安全区,所以可以用safeAreaInsets.bottom > 0.0
来判断是否是iPhone X/XS/XR/XS Max。
safeAreaInsets只在iOS11以及之后的版本可用
static inline BOOL isIPhoneXSeries() {BOOL iPhoneXSeries = NO;if (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPhone) {return iPhoneXSeries;}if (@available(iOS 11.0, *)) {UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window];if (mainWindow.safeAreaInsets.bottom > 0.0) {iPhoneXSeries = YES;}}return iPhoneXSeries;
}