【1024's iPhone X】关于iPhone X适

2017-10-25  本文已影响872人  JARVIS_STUDIO

@Jou Email Weibo or Github

预热

#define IS_IPHONE_4 (IS_IPHONE && ([[UIScreen mainScreen] bounds].size.height == 480.0) && ((IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale == [UIScreen mainScreen].scale) || (!IS_OS_8_OR_LATER && ([[UIScreen mainScreen] bounds].size.height == 480.0)) ))
#define IS_IPHONE_5 (IS_IPHONE && ([[UIScreen mainScreen] bounds].size.height == 568.0) && ((IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale == [UIScreen mainScreen].scale) || (!IS_OS_8_OR_LATER && ([[UIScreen mainScreen] bounds].size.height == 568.0)) ))
#define IS_STANDARD_IPHONE_6 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0  && IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale == [UIScreen mainScreen].scale)
#define IS_ZOOMED_IPHONE_6 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 568.0 && IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale > [UIScreen mainScreen].scale)
#define IS_STANDARD_IPHONE_6_PLUS (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 736.0)
#define IS_ZOOMED_IPHONE_6_PLUS (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0 && IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale < [UIScreen mainScreen].scale)

每次苹果革新,都随之来一阵痛苦。这次 iPhone X 适配肯定没有例外。
如果不想打开官方文档跳来跳去,关于iPhone X 适配我推荐这篇文章,Supporting iPhone X

过去的适配方案,不区分维度,会令人费解,比如上面贴的宏定义,当我想适配 5.5 英寸的屏幕,我会去判断IS_STANDARD_IPHONE_6_PLUS ,但是这其实代表了多种设备iPhone 6p/iPhone 6sp/iPhone7p/iPhone 8p。
所以,我的梦想是“iPhone 设备适配要针对场景区分维度”,不,也是“世界和平”。

适配的五个维度

0x0 System version

0x1 Orientation

0x2 Screen scale

0x3 Inches

0x4 Machine

WISH LIST

GITHUB HREF

ps 最近愈发感觉自己与技术路线走的愈发的远,也愈发的感觉,运营和产品上的积累是增量的,而技术的发展是断层式的迭代,导致很容易归零,沉淀下无用的积累。或许....我热爱的不是技术,而是这个行业。

上一篇 下一篇

猜你喜欢

热点阅读