2020.10.14
iphone12的适配
iPhone12 mini 5.4英寸
iPhone12 6.1 英寸
iPhone12 Pro 6.1 英寸
iPhone12 Pro MAX 6.4 英寸
使用[[UIApplication sharedApplication] statusBarFrame].size.height>20 方法判断是否有齐刘海
不要使用 对手机宽高的判断,需要适配的机型越来越多,使用宽高不合理 每次都要增加
我这里常用的方法
#define kStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height
#define kNavBarHeight 44.0
#define kTabBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49)
#define kBottomBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20 ? 34.0 : 0)
----------分割线-----------
启动图尺寸 机型 命名
640 × 960 iPhone4s Default@2x(3.5英寸)
640 × 1136 iPhone5s Default-568h@2x(4.0英寸)
750 × 1334 iPhone Default-667h@2x(4.7英寸)
1242 × 2208 iPhonePlus Default-736h@3x(5.5英寸)
1125 × 2436 iPhoneX, iPhoneXS ,iPhone11Pro Default-812h@3x(5.8英寸)
828 x 1792 iPhoneXR,iphone11 Default-828h@2x(6.1英寸)
1242 x 2688 iPhoneX Max, iPhoneXs Max,iPhone 11 Pro Max Default-1242h@3x(6.5英寸)
以上是我们需要适配的手机机型,其中iphon4s我这已经不适配了
iphonex 系列导航栏和tabbar的高度发生了变化,就是“齐刘海”+底部触摸条
OC:
#define iphoneX ([[UIApplication sharedApplication] statusBarFrame].size.height>20?YES:NO)
#define kNavBarHeight (iphoneX ? 88.0 : 64.0)
#define KTabBarHeight iphoneX ? CGFloat(83.0) : CGFloat(49.0)
#define kBottomBarHeight (iphoneX ? 34.0 : 0)
#define kContentHeight (kScreenHeight - kNavBarHeight-kBottomBarHeight)
swift:
let KIphoneX = UIApplication.shared.statusBarFrame.size.height > 20 ? true : false
let KNavgationHeight = KIphoneX ? CGFloat(88.0) : CGFloat(64.0)
let KTabBarHeight = KIphoneX ? CGFloat(83.0) : CGFloat(49.0)
let kBottomBarHeight = KIphoneX ? CGFloat(34.0) : CGFloat(0)
let KHeightTime = kScreenHeight / 667
还有一种判断是否为iphonex的方法
#define iphoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size)||CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size)||CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size)) : NO)
根据手机的大小判断
补充:
北京时间 2019.9.11 苹果秋季发布会
发布三款新的iphone
iphone11 大小和 iPhoneXR(828 x 1792) 相同 6.1 寸
iPhone 11 Pro 大小和 iPhoneXS(1125 × 2436) 相同 5.8 寸
iPhone 11 Pro Max 大小和 iPhoneXs Max(1242 x 2688) 相同 6.5 寸
适配方法和上面相同
http://tech.sina.com.cn/mobile/n/n/2019-09-11/doc-iicezzrq4983192.shtml
参考链接:iPhone X,iPhone XS,iPhone XR,iPHone XS Max 适配
参考链接:iOS iPhoneX 适配