CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty) ;
MakeTranslation(名詞的 translation)作用是:基于對(duì)象的初始的位置做的形變!不是累加的形變。如:
- (IBAction)move:(UIButton *)button{ self.headImage.transform = CGAffineTransformMakeTranslation(0, -100);}

點(diǎn)擊方向鍵,只向上移動(dòng)100之后不再變化,點(diǎn)擊多次,只是第一次的時(shí)候y變化-100。
如圖所示
CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy);
形變,縮放功能,sx,和 sy 分別管理的橫向和豎向的縮放,也就是拉長(zhǎng),還是拉寬的管理,且1.0不變化,小玉1.0小,大于1.0變大。
CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)
名詞的 rotation,就要家 make,做變化,蘋果和體貼的設(shè)計(jì)。同理,這樣的設(shè)置,只變化一次。累計(jì)變化需要三個(gè)參數(shù)的動(dòng)詞方法。
(注意:angle是弧度制,也就是π,并不是角度制,且類似縮放,弧度是正數(shù)是順時(shí)針旋轉(zhuǎn),負(fù)數(shù)是逆時(shí)針旋轉(zhuǎn))
在某個(gè)transform的基礎(chǔ)上進(jìn)行疊加(可以對(duì)上述方法進(jìn)行改變,變成累加的)
CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty);
動(dòng)詞的 translate,不用帶 make, 多一個(gè)參數(shù),下面的也是如此。
作用是在某個(gè) transform參數(shù)的基礎(chǔ)之上做的形變,實(shí)際效果就是一個(gè)位移的累加過程。
CGAffineTransform CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy);
此時(shí)也多了第一個(gè) 參數(shù),少了 make,直接做動(dòng)詞。那么就是可以一直變化,不再是相對(duì)初試對(duì)象位置的改變。
CGAffineTransform CGAffineTransformRotate(CGAffineTransform t, CGFloat angle);
同理,rotate 是動(dòng)詞,去掉 make,那么后面肯定多了一個(gè)參數(shù),相對(duì)某個(gè) transform 參數(shù)的基礎(chǔ)來變。
view.transform = CGAffineTransformIdentity;
- (IBAction)zoom:(UIButton *)button { //加上首尾式動(dòng)畫 [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:2.0]; //縮小按鈕 if (0 == button.tag) { self.headImage.transform = CGAffineTransformScale(self.headImage.transform, 0.5, 0.5); } else { //放大按鈕 self.headImage.transform = CGAffineTransformScale(self.headImage.transform, 1.5, 1.5); } [UIView commitAnimations];}- (IBAction)rotate:(UIButton *)button { [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:2.0]; //順時(shí)針180度,右旋轉(zhuǎn)按鈕 if (1 == button.tag) { self.headImage.transform = CGAffineTransformRotate(self.headImage.transform, M_PI_2); } else { //逆時(shí)針180度,左旋轉(zhuǎn)按鈕 self.headImage.transform = CGAffineTransformRotate(self.headImage.transform, -M_PI_2); } [UIView commitAnimations];}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注