iOS代碼進行設備屏幕判斷的最佳實踐方案討論

字號:


    目前開發(fā)的項目由于歷史原因均用代碼編寫UI,所以判斷設備尺寸成了不可避免的任務。
    目前我是這樣進行尺寸判斷的。
    首先定義一個枚舉類,包含了所有的尺寸類型:
    // 屏幕尺寸的枚舉類型typedef NS_ENUM(NSUInteger, ScreenSizeType) { iPhone4Size, // 480 iPhone5Size, // 568 iPhone6Size, // 667 iPhone6pSize, // 736};
    然后寫一個靜態(tài)函數獲取當前的尺寸類型:
    +(ScreenSizeType)getScreenSizeType { if (kScreenBounds.size.height == 736) { return iPhone6pSize; } else if (kScreenBounds.size.height == 667) { return iPhone6Size; } else if (kScreenBounds.size.height == 568) { return iPhone5Size; } return iPhone4Size;}
    然后再通過宏獲取這個類型:
    #define kScreenSizeType [PublicFunction getScreenSizeType]
    最后,使用的時候這樣:
    int a = kScreenSizeType == iPhone6pSize ? 1 : 0;