標籤:
1. transform屬性
在OC中,通過transform屬性可以修改對象的平移、縮放比例和旋轉角度
常用的建立transform結構體方法分兩大類
(1) 建立“基於控制項初始位置”的形變
CGAffineTransformMakeTranslation(平移)
CGAffineTransformMakeScale(縮放)
CGAffineTransformMakeRotation(旋轉)
(2) 建立“基於transform參數”的形變
CGAffineTransformTranslate
CGAffineTransformScale
CGAffineTransformRotate
補充:
在OC中,所有跟角度相關的數值,都是弧度值,180° = M_PI
正數表示順時針旋轉
負數表示逆時針旋轉
提示:由於transform屬性可以基於控制項的上一次的狀態進行疊加形變,例如,先旋轉再平移。因此在實際動畫開發中,當涉及位置、尺寸形變效果時,大多修改控制項的transform屬性,而不是frame、bounds、center 。
2.主要代碼
//位移(不累加)234 //self.headImageView.transform=CGAffineTransformMakeTranslation(50, 200);235 //縮放236 //self.headImageView.transform=CGAffineTransformMakeScale(1.2, 10);237 //在原有的基礎上位移(是累加的)238 //self.headImageView.transform=CGAffineTransformTranslate(self.headImageView.transform, 50, 50);239 //在原有的基礎上進行縮放240 //self.headImageView.transform=CGAffineTransformScale(self.headImageView.transform, 1.5, 1.6);241 242 //在原有的基礎上進行旋轉243 if (rotate.tag) {244 //旋轉角度為1/pi,逆時針245 self.headImageView.transform=CGAffineTransformRotate(self.headImageView.transform, -M_1_PI);246 }247 else248 {249 //旋轉的角度為pi/2,順時針250 self.headImageView.transform=CGAffineTransformRotate(self.headImageView.transform, M_PI_2);251 }
iOS開發UI篇—transframe屬性(形變)