目前開發的項目由於歷史原因均用代碼編寫UI,所以判斷設備尺寸成了不可避免的任務。
目前我是這樣進行尺寸判斷的。
首先定義一個枚舉類,包含了所有的尺寸類型:
// 屏幕尺寸的枚舉類型 typedef NS_ENUM(NSUInteger, ScreenSizeType) { iPhone4Size, // 480 iPhone5Size, // 568 iPhone6Size, // 667 iPhone6pSize, // 736 };
然後寫一個靜態函數獲取當前的尺寸類型:
+(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;
不清楚大家是怎麼實現的。希望可以評論討論下。