在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...