UIScreen_YJ 0.0.2

UIScreen_YJ 0.0.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released最后发布2016年3月

huang-kun 维护。



  • 作者:
  • huang-kun

描述

UIScreenDisplayResolution

如果看到定义如下自定的宏:

#define iPhone6 CGSizeEqualToSize([UIScreen mainScreen].currentMode.size, CGSizeMake(750, 1334))

使用屏幕像素大小来定义设备版本可能不是好主意,因为当您的 iPhone6 处于显示缩放模式(可以在设置中更改)时,屏幕像素大小与 iPhone5 相同,为 640x1136。因此使用此宏是不正确的。

当您设计一个专门针对 iPhone6 的界面时,您不需要知道它实际上是一台 iPhone6,因为您需要的信息是屏幕分辨率。

这是解决方案:

typedef NS_ENUM(NSInteger, UIScreenDisplayResolution) {
    UIScreenDisplayResolutionUndefined,
    // iPhone (includes iPod Touch)
    UIScreenDisplayResolutionPixel320x480,       // older type
    UIScreenDisplayResolutionPixel640x960,       // 4, 4s
    UIScreenDisplayResolutionPixel640x1136,      // 5, 5s, 6(display zoom), 6s(display zoom), SE 1
    UIScreenDisplayResolutionPixel750x1334,      // 6, 6s
    UIScreenDisplayResolutionPixel1125x2001,     // 6+(display zoom), 6s+(display zoom)
    UIScreenDisplayResolutionPixel1242x2208,     // 6+, 6s+
    // iPad
    UIScreenDisplayResolutionPixel768x1024,      // 1, 2, mini 1
    UIScreenDisplayResolutionPixel1536x2048,     // 3, 4, Air(1, 2) mini(2, 3, 4), Pro 2<9.7-inch>
    UIScreenDisplayResolutionPixel2048x2732,     // Pro (1, 2<12.9-inch>)
};

选择一个选项,然后为许多设备使用它。


UIScreenDisplayAspectRatio

存在另一种枚举类型,它可以便于您计算屏幕显示宽高比。

typedef NS_ENUM(NSInteger, UIScreenDisplayAspectRatio) {
    UIScreenDisplayAspectRatioUndefined,
    UIScreenDisplayAspectRatio_3_2,             // 3:2
    UIScreenDisplayAspectRatio_4_3,             // 4:3
    UIScreenDisplayAspectRatio_16_9,            // 16:9
};


安装

您可以通过 CocoaPods 获取到 UIScreen_YJ。要安装它,只需将以下行添加到 Podfile 中:

pod "UIScreen_YJ"

作者

huang-kun, [email protected]

许可证

UIScreen_YJ 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。