iPhone裝置適配(更新中·····)

weixin_33806914發表於2016-07-13

應用場景:

前段時間公司開發一個新專案,要求在各個裝置上均顯示一致,老大要求純程式碼開發,嘗試使用第三方庫masonry開發,但效果是不是很好,無法滿足需求。後來通過查詢資料得到可以通過如下的圖建立聯絡找到解決方法


1939330-1f82e84c5259e8b9.png
裝置邏輯尺寸和畫素關係示意圖.png
程式碼如下:
/**
*  1080*1920轉6的係數
*/
static CGFloat  const parameterOne =0.96;
/**
*  6轉5的係數
*/
static CGFloat  const parametertwo =1.171875;
static CGFloat  const parameterThree =1.15;


+ (CGFloat)adaptionFrom:(CGFloat)pixel{
   CGFloat chanagePixel;
if ([UIScreen mainScreen].bounds.size.width ==320) {
           if ([UIScreen mainScreen].bounds.size.height ==480) {
               
           }else if ([UIScreen mainScreen].bounds.size.height ==568){
           return    chanagePixel  =  pixel/parameterOne/3*2/parametertwo/2;
           }
       }else if ([UIScreen mainScreen].bounds.size.width ==375){
        return   chanagePixel  =  pixel/parameterOne/3;
       }else if ([UIScreen mainScreen].bounds.size.width ==414){
        return   chanagePixel  =  pixel*parameterThree/3;
       }
return 0 ;
}
缺點:粗略方法、計算次數過多,需要一個恆定定引數,後期優化,不支援4s等

相關文章