移动:
// 声明移动对象
@property (weak, nonatomic) IBOutlet UIButton *head;
// transform 描述控件的变换(动画)
CGAffineTransform transform = self.head.transform;
self.pic.transform=CGAffineTransformTranslate(transform, x,y );
+X 表示向右 -X 表示向左
+Y表示向下 -Y表示向上
缩放:
self.pic.transform=CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy)
sx sy 表示缩放比例
旋转:
self.pic.transform=CGAffineTransformRotate(CGAffineTransform t, CGFloat angle);
angle :表示旋转角度
// 部分代码
@interface ViewController ()
// 声明图片
@property (weak,nonatomic) IBOutletUIButton *pic;
// 声明移动方法
- (IBAction)move:(id)sender;
@end
@implementation ViewController
- (IBAction)move:(id)sender
{
// 添加过渡动画
[UIViewbeginAnimations:nilcontext:nil];
[UIViewsetAnimationDuration:0.5];
// transform 描述控件的变换(动画)
CGAffineTransform transform =self.pic.transform;
UIButton *btn = (UIButton *)sender;
switch (btn.tag) {
case0: // 上
self.pic.transform=CGAffineTransformTranslate(transform,0, -10);
break;
case1: // 右
self.pic.transform=CGAffineTransformTranslate(transform,10, 0);
break;
case2: // 下
self.pic.transform=CGAffineTransformTranslate(transform,0, +10);
break;
case3: // 左
self.pic.transform=CGAffineTransformTranslate(transform, -10, 0);
break;
case4: // 大
self.pic.transform=CGAffineTransformScale(transform,1.5, 1.5);
break;
case5: // 小
self.pic.transform=CGAffineTransformScale(transform,0.5, 0.5);
break;
case6: // 左旋转
self.pic.transform=CGAffineTransformRotate(transform,M_PI_4);
break;
case7: // 右旋转
self.pic.transform =CGAffineTransformRotate(transform, -M_PI_4);
break;
[UIViewcommitAnimations];
}
}
@end