<span style="font-family: Arial, Helvetica, sans-serif;font-size:14px;">1.移动位置 origin.x y</span>
<span style="font-family: Arial, Helvetica, sans-serif;font-size:14px;">2.形变属性 transfrom</span>
<span style="font-family: Arial, Helvetica, sans-serif;font-size:14px;">3缩放 scale</span>
<span style="font-family: Arial, Helvetica, sans-serif;font-size:14px;">
</span>
<span style="font-family: Arial, Helvetica, sans-serif;font-size:14px;">//移动一个UI.只要操作这个UI的origin x或y的值</span>
<span style="font-size:14px;">- (IBAction)move:(UIButton *)sender {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
CGRect tempFrame = _bigButton.frame;
//判断点击了哪个按钮
switch (sender.tag) {
case 1:
tempFrame.origin.y -= kDelta;
break;
case 2:
tempFrame.origin.y += kDelta;
break;
case 3:
tempFrame.origin.x -= kDelta;
break;
case 4:
tempFrame.origin.x += kDelta;
break;
default:
break;
}
_bigButton.frame = tempFrame;
[UIView commitAnimations];
}
//transform是形变属性.rotate是按照一定的角度
- (IBAction)rotationLift:(UIButton *)sender {
//动画开始
[UIView beginAnimations:nil context:nil];
//动画持续时间
[UIView setAnimationDuration:1.0];
if (sender.tag == 20) {
//
_bigButton.transform = CGAffineTransformRotate(_bigButton.transform, (-M_PI_4));
}else if (sender.tag == 21){
_bigButton.transform = CGAffineTransformRotate(_bigButton.transform, M_PI_4);
}
//动画commit是交付的意思.开始运行动画
[UIView commitAnimations];
}
//scale(比例),放大或者缩小
- (IBAction)zoom:(UIButton *)sender {
//使用了三目运算符.因为连接到这个方法的按钮只有两个,所以不用判断另外
//一个按钮得tag.
CGFloat scale = sender.tag == 32 ? 1.2 : 0.8;
_bigButton.transform = CGAffineTransformScale(_bigButton.transform, scale, scale);
}</span>