iOS開發基礎篇 transform屬性

2022-08-31 00:24:15 字數 1915 閱讀 1126

在oc中,通過 transform 屬性可以修改物件的平移、縮放比例和旋轉角度。

1)建立「基於控制項初始位置」的形變

cgaffinetransformmakerotation ——旋轉

cgaffinetransformmaketranslation ——平移

cgaffinetransformmakescale ——縮放

2)建立「基於 transform 引數」的形變

cgaffinetransformtranslate

cgaffinetransformscale

cgaffinetransformrotate

補充:在oc中,所有跟角度相關的數值,都為弧度制 180度 = m_pi , 45度 = m_pi_4 。

正數表示順時針旋轉,負數表示逆時針旋轉。

「基於 transform 引數」的形變可以基於控制項上一次的狀態進行疊加形變,如先旋轉再平移。 

用**在 viewdidload 中新增控制旋轉的按鈕:

1

//向左旋轉按鈕

2 uibutton *leftrotatebtn =[uibutton buttonwithtype:uibuttontypecustom];

3 leftrotatebtn.frame = cgrectmake(125, 450, 80, 40

);4 [leftrotatebtn settitle:@"

向左旋轉

"forstate:uicontrolstatenormal];

5[leftrotatebtn settitlecolor:[uicolor bluecolor] forstate:uicontrolstatenormal];

6 [leftrotatebtn settag:1];7

[self.view addsubview:leftrotatebtn];8//

新增按鈕的單擊事件

9[leftrotatebtn addtarget:self action:@selector(rotate:) forcontrolevents:uicontroleventtouchupinside];

1011

//向右旋轉按鈕

12 uibutton *rightrotatebtn =[uibutton buttonwithtype:uibuttontypecustom];

13 rightrotatebtn.frame = cgrectmake(125, 500, 80, 40

);14 [rightrotatebtn settitle:@"

向右旋轉

"forstate:uicontrolstatenormal];

15[rightrotatebtn settitlecolor:[uicolor bluecolor] forstate:uicontrolstatenormal];

16 [rightrotatebtn settag:0

];17

[self.view addsubview:rightrotatebtn];

18//

新增按鈕的單擊事件

19 [rightrotatebtn addtarget:self action:@selector(rotate:) forcontrolevents:uicontroleventtouchupinside];

viewdidload 是檢視載入完成後呼叫的方法,通常在此方法中執行檢視控制器的初始化工作。

新增旋轉按鈕響應事件:

1 - (void)rotate:(id

)sender else

11 }

參考部落格:ios開發ui篇—transframe屬性(形變)

iOS開發基礎篇 CoreLocation定位服務

cllocationmanager的常用操作和屬性locmanager cllocationmanager alloc init 設定每隔100公尺更新位置locmanager.distancefilter 100 設定位置精度locmanager.desiredaccuracy kcllocati...

基礎篇 ios開發概述

ios是由蘋果公司開發的移動作業系統。蘋果公司最早於2007年1月9日的macworld大會上公布這個系統,最初是設計給iphone使用的,後來陸續套用到ipod touch ipad上。ios與蘋果的macos作業系統一樣,屬於類unix的商業作業系統。原本這個系統名為iphone os,因為ip...

基礎篇 ios開發概述

ios是由蘋果公司開發的移動作業系統。蘋果公司最早於2007年1月9日的macworld大會上公布這個系統,最初是設計給iphone使用的,後來陸續套用到ipod touch ipad上。ios與蘋果的macos作業系統一樣,屬於類unix的商業作業系統。原本這個系統名為iphone os,因為ip...