iPhoneXR、iPhoneXS Max适配

因为iphoneXS的尺寸和X一样,就UI上是不需要适配的。

一、启动图(参考图1)

1、肯定是更新macOS系统和Xcode10.0
2、点击启动图后不会显示XR和XMax的,在右侧栏的属性点击勾选iOS8.0 and Later就有了
3、图的大小分别为iPhone XR:828px x 1792px,iPhone XS Max: 1242px x 2688px


iPhoneXR、iPhoneXS Max适配_第1张图片
图1

二、设备的宏定义

这个我就直接贴代码,看官们将就着看

#pragma mark - 屏幕尺寸
#define     SCREEN_SIZE                 [UIScreen mainScreen].bounds.size
#define     SCREEN_WIDTH                SCREEN_SIZE.width
#define     SCREEN_HEIGHT               SCREEN_SIZE.height
#define     SCREEN_BOUNDS               [UIScreen mainScreen].bounds

#pragma mark - 设备(屏幕)类型
#define     IS_IPHONE4              ([UIScreen mainScreen].bounds.size.width == 320.0f && [UIScreen mainScreen].bounds.size.height == 480.0f)           // 320 * 480
#define     IS_IPHONE5              ([UIScreen mainScreen].bounds.size.width == 320.0f && [UIScreen mainScreen].bounds.size.height == 568.0f)           // 320 * 568
#define     IS_IPHONE6              ([UIScreen mainScreen].bounds.size.width == 375.0f && [UIScreen mainScreen].bounds.size.height == 667.0f)           // 375 * 667
#define     IS_IPHONE6P             ([UIScreen mainScreen].bounds.size.width == 414.0f && [UIScreen mainScreen].bounds.size.height == 736.0f)           // 414 * 736
#define     IS_IPHONEX              ([UIScreen mainScreen].bounds.size.width == 375.0f && [UIScreen mainScreen].bounds.size.height == 812.0f)
#define     IS_IPHONEXS             ([UIScreen mainScreen].bounds.size.width == 375.0f && [UIScreen mainScreen].bounds.size.height == 812.0f)
#define     IS_IPHONEXR             ([UIScreen mainScreen].bounds.size.width == 414.0f && [UIScreen mainScreen].bounds.size.height == 896.0f)
#define     IS_IPHONEXMAX           ([UIScreen mainScreen].bounds.size.width == 414.0f && [UIScreen mainScreen].bounds.size.height == 896.0f)

#define     IS_IPHONEX_ALL (IS_IPHONEX == YES || IS_IPHONEXS == YES || IS_IPHONEXR == YES || IS_IPHONEXMAX == YES)

#define     IS_IPad [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad ? YES : NO


#pragma mark - 常用控件高度
//iPhoneX相对其他设备的上下间隙高度
#define     X_TOPSPACE    (IS_IPHONEX_ALL ? 24.0f : 0.0)
#define     X_BOTTOMSPACE (IS_IPHONEX_ALL ? 34.0f : 0.0)

#define     STATUSBAR_HEIGHT            (IS_IPHONEX_ALL ? 20.0f + X_TOPSPACE : 20.0f)
#define     TABBAR_HEIGHT               (IS_IPHONEX_ALL ? 49.0f + X_BOTTOMSPACE : 49.0f)
#define     NAVBAR_HEIGHT               44.0f
#define     SEARCHBAR_HEIGHT            (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0") ? 56.0f : 44.0f)
#define     BORDER_WIDTH_1PX            ([[UIScreen mainScreen] scale] > 0.0 ? 1.0 / [[UIScreen mainScreen] scale] : 1.0)

三、广告页的图

以前做iPhoneX的时候广告页的图片就分了通用的图和X专用,所以我这已经被领导批评过了,希望其他的童鞋们早就想到了。
因为iPhone XR和iPhone XS Max的宽高比一样,切和X的宽高比相差0.001不到,所以不是精益求精的话大多数适配了X的地方是不用动的,只是一定要记得XR和XMax的尺寸在判断内。比如说用上面的宏IS_IPHONEX_ALL
嗯.....目前就想到这些,等再碰到了慢慢更(手动滑稽)。

你可能感兴趣的:(iPhoneXR、iPhoneXS Max适配)