iOS開發 全機型適配解決方法

2022-09-25 01:24:09 字數 1906 閱讀 7869

qkrbj今天打算跟大家聊聊最近研究的全機型適配思路。

當前我們需要適配的iphone機型有4s、5s、6s、6plus四種機型。它們的尺寸分別是

iphone4s                            960*640

iphone5 5s                        1136*640

iphone6 6s                        1334*750

iphone6plus 6splus          1920*1080

而一般我習慣在實際的專案開發中,使用masonary來搭建ui介面,雖然在masonary中我們能很方便的設定各個控制項之間的約束,但是對於類似4s機型和6s plus機型的很大的高度差,有時候僅僅靠一次性成型的約束還是搭建不出很合理的介面。

於是在這次搭建ui的過程中,我的乙個思路就是按照比例,針對各個機型進行微調。思路如下:

美工提供的效果圖是基於iphone6的效果圖

而我只需要將標註上的每個尺寸去對比iphone6換算出比例,這樣一些間距就能按照不同機型尺寸的比例變得不一樣。

針對考慮互動體驗的控制項,在保持尺寸不變的程式設計客棧基礎上,做細節微調。

在具體的**中,我封裝出了乙個類,定義了兩個類方法專門去適配所有機型的高度和寬度。思路就是上述按不同機型針對於iphone6的比例而適配。

**我也貼一部分出來。

標頭檔案的定義

#import

#import

typedef ns_enum(nsinteger, iphonetype) ;

@inte***ce calculatelayout : nsobject

/** * 基於ui設計的iphone6設計圖的全機型高度適配

* * @param height view高度

* * @return 適配後的高度

*/+ (cgfloat)neu_layoutforalliphoneheight:(cgfloat)height;

/** * 基於ui設計的iphone6設計圖的全機型寬度適配

* * @param width 寬度

* * @return 適配後的寬度

*/+ (cgfloat)neu_layoutforalliphonewidth:(cgfloat)width;

.m檔案的部分如下:

#define iphone4height (480.f)

#define iphone4width (320.f)

#define iphone5height (568.f)

#define iphone5width (320.f)

#define iphone6height (667.f)

#define iphon程式設計客棧e6width (375.f)

#define iphone6plusheight (736.f)

#define iphone6pluswidth (414.f)

#pragma mark - 適配所有機型高度

+ (cgfloat)neu_layoutforalliphoneheight:(cgfloat)height else if (iphone5) else if (iphone6) else if (iphone6p) else

return layoutheight;

}+ (cgfloat)neu_layoutforalliphonewidth:(cgfloat)width else if (iphone5) else if (iphone6) else if (iphone6p)

return layoutwidth;

}**我也已經放在了github上,如果這些對你有幫助,在clone**之餘能否給個star。

本文標題: ios開發 全機型適配解決方法

本文位址:

iOS開發螢幕旋轉鎖定橫豎屏解決方法

第一步 配置為豎屏。禁用其他方向。如圖示 第二步 在viewdidload方法中用以下方法 說明 不是真正的旋轉螢幕,只旋轉當前的view self.view.transform cgaffinetransformmakerotation m pi 2 self.view.bounds cgrect...

iOS證書過期的解決方法

解決方案 2.開啟鑰匙串,在導航欄上,依次選擇顯示 顯示已過期的證書,然後刪除已經過期的證書 刪掉過期證書 針對這樣的問題還有另一種解決方案 把證書信任許可權給改了,但是經試驗行不通 在碰到問題時總是第一反應,我沒做過啥啊 這主觀思想導致了排查問題更加困難。由於最近某些原因,我將keychain給重...

IOS開發中鍵盤輸入螢幕上移的解決方法

在ios開法中經常會遇到鍵盤遮擋螢幕的事情 比如輸入賬號密碼驗www.cppcns.com證碼等等 就使得原本都不大的螢幕直接佔了一半甚至更多的位置,這倒無所謂,關鍵是擋住了下面的按鈕。這樣的話按鈕的事件也就觸發不了,最好的解決辦法就是當輸入這些資訊的時候讓整個螢幕上移乙個鍵盤的位置,或者上移到指定...