ios代碼進(jìn)行設(shè)備屏幕判斷的最佳實(shí)踐方案討論

字號(hào):


    目前開發(fā)的項(xiàng)目由于歷史原因均用代碼編寫ui,所以判斷設(shè)備尺寸成了不可避免的任務(wù)。
    目前我是這樣進(jìn)行尺寸判斷的。
    首先定義一個(gè)枚舉類,包含了所有的尺寸類型:
    // 屏幕尺寸的枚舉類型typedef ns_enum(nsuinteger, screensizetype) { iphone4size, // 480 iphone5size, // 568 iphone6size, // 667 iphone6psize, // 736};
    然后寫一個(gè)靜態(tài)函數(shù)獲取當(dāng)前的尺寸類型:
    +(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;}
    然后再通過宏獲取這個(gè)類型:
    #define kscreensizetype [publicfunction getscreensizetype]
    最后,使用的時(shí)候這樣:
    int a = kscreensizetype == iphone6psize ? 1 : 0;