旋轉(zhuǎn):
-(void)Rotate:(UIButton *)rotate
{
//位移(不累加)
//self.headImageView.transform=CGAffineTransformMakeTranslation(50, 200);
//縮放
//self.headImageView.transform=CGAffineTransformMakeScale(1.2, 10);
//在原有的基礎(chǔ)上位移(是累加的)
//self.headImageView.transform=CGAffineTransformTranslate(self.headImageView.transform, 50, 50);
//在原有的基礎(chǔ)上進(jìn)行縮放
//self.headImageView.transform=CGAffineTransformScale(self.headImageView.transform, 1.5, 1.6);
//在原有的基礎(chǔ)上進(jìn)行旋轉(zhuǎn)
if (rotate.tag) {
//旋轉(zhuǎn)角度為1/pi,逆時(shí)針
self.headImageView.transform=CGAffineTransformRotate(self.headImageView.transform, -M_1_PI);
}
else
{
//旋轉(zhuǎn)的角度為pi/2萝风,順時(shí)針
self.headImageView.transform=CGAffineTransformRotate(self.headImageView.transform, M_PI_2);
}
}
縮放:
-(void)Zoom:(UIButton *)btn
{
//使用bounds嘀掸,以中心點(diǎn)位原點(diǎn)進(jìn)行縮放
CGRect bounds = self.headImageView.bounds;
if (btn.tag) {
bounds.size.height+=30;
bounds.size.width+=30;
}
else
{
bounds.size.height-=50;
bounds.size.width-=50;
}
//設(shè)置首尾動(dòng)畫
[UIView beginAnimations:nil context:nil];
self.headImageView.bounds=bounds;
[UIView setAnimationDuration:2.0];
[UIView commitAnimations];
}
平移:
//控制方向的多個(gè)按鈕調(diào)用同一個(gè)方法
-(void)Click:(UIButton *)button
{
//練習(xí)使用frame屬性
//CGRect frame=self.headImageView.frame;
/**注意,這里如果控制位置的兩個(gè)屬性frame和center同時(shí)使用的話规惰,會(huì)出現(xiàn)很好玩的效果睬塌,注意分析*/
//練習(xí)使用center屬性
CGPoint center=self.headImageView.center;
switch (button.tag) {
case ktopbtntag:
center.y-=30;
break;
case kdownbtntag:
center.y+=30;
break;
case kleftbtntag:
//發(fā)現(xiàn)一個(gè)bug,之前的問題是因?yàn)樯賹懥薭reak,造成了它們的順序執(zhí)行,sorry
//center.x=center.x-30;
center.x-=50;
break;
case krightbtntag:
center.x+=50;
break;
}
//? self.headImageView.frame=frame;
//首尾式設(shè)置動(dòng)畫效果
[UIView beginAnimations:nil context:nil];
self.headImageView.center=center;
//設(shè)置時(shí)間
[UIView setAnimationDuration:2.0];
[UIView commitAnimations];
NSLog(@"移動(dòng)!");
}