螢幕適配之內聯函式

2021-07-09 18:57:36 字數 1575 閱讀 3632

在實際開發中,由於手機螢幕尺寸的不同,所以在程式設計中做螢幕適配是必須要做的事情。螢幕適配的原理就是讓檢視的大小按比例縮放,即自己定義乙個建立檢視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關鍵字必須和函式定...