在實際開發中,由於手機螢幕尺寸的不同,所以在程式設計中做螢幕適配是必須要做的事情。螢幕適配的原理就是讓檢視的大小按比例縮放,即自己定義乙個建立檢視frame的cgrectmake方法.
**如下:
// 內聯函式(螢幕適配)
1、設定檢視frame
cg_inline cgrect cgrectmakeinline(cgfloat x, cgfloat y,cgfloat width,cgfloat height){
cgrect rect;
// 1、算出縮放比例
//以 6s plus 為基準
cgfloat autosizex = [uiscreen mainscreen].bounds.size.width / 414;
cgfloat autosizey = [uiscreen mainscreen].bounds.size.height / 736;
// 2 計算適配之後的x軸座標 y 軸座標 以及 寬高
rect.origin.x = x * autosizex;
rect.origin.y = y * autosizey;
rect.size.width = width * autosizex;
rect.size.height = height * autosizey;
return rect;
2、設定檢視size
cg_inline cgsize cgsizemakeinline(cgfloat width,cgfloat height){
cgsize rect;
cgfloat autosizex = [uiscreen mainscreen].bounds.size.width / 414;
cgfloat autosizey = [uiscreen mainscreen].bounds.size.height / 736;
rect.width = width * autosizex;
rect.height = height * autosizey;
return rect;
3、設定檢視的位置
cg_inline cgpoint cgpointmakeinline(cgfloat x,cgfloat y){
cgpoint rect;
cgfloat autosizex = [uiscreen mainscreen].bounds.size.width / 414;
cgfloat autosizey = [uiscreen mainscreen].bounds.size.height / 736;
rect.x = x * autosizex;
rect.y = y * autosizey;
return rect;
通過以上的三個函式,能夠設定frame、size和point,設定的原理為,以 6s plus的大小為基準,根據不同手機獲螢幕尺寸,求出縮放比例,然後把檢視的frame 乘以比例,從而實現螢幕的適配.
函式之內聯函式
內聯函式 定義 內聯函式是c 為提高程式執行速度所進行的一項改進。常規函式與內聯函式之間的區別不在於編寫方式,而在於c 編譯器如何將他們組合到程式裡。c 函式的編譯 與其他程式的 內聯 了起來,也就是說,編譯器將使用相應的函式 代替函式呼叫。對於內聯函式,程式無需調到另乙個位置處執行 再跳回來,因此...
C 之內聯函式
一 目的 提高程式執行速度所做的一項改進。二 內聯函式與常規函式的區別 編譯過程的最終產品是程式 由一組機器語言指令組成。執行程式時作業系統將這些指令載入到計算機記憶體中,因此每條指令都有特有的記憶體位址。計算機隨後逐步執行這些命令。執行到函式呼叫指令時,程式將在函式呼叫後立即儲存該指令的記憶體位址...
C 之內聯函式
內聯函式是一種特殊的函式,具有普通函式的特徵 引數檢查,返回型別等 內聯函式是對編譯器的一種請求,因此編譯器可能拒絕這種請求 內聯函式由 編譯器處理,直接將編譯後的函式體插入呼叫的地方 巨集 片段 由預處理器處理,進行簡單的文字替換,沒有任何編譯過程 注 內聯函式宣告時inline關鍵字必須和函式定...