self.delta -= 20.0;
// CGAffineTransformMakeTranslation的位移形变是相对按钮"初始"位置来变化的
self.iconButton.transform = CGAffineTransformMakeTranslation(0, self.delta);
// CGAffineTransformTranslate 的位移形变是对按钮的上次形变的累积
self.iconButton.transform = CGAffineTransformTranslate(self.iconButton.transform, x, y);
NSLog(@"%@", NSStringFromCGAffineTransform(self.iconButton.transform));
/**
frame属性,通常用于实例化控件,指定初始位置
如果需要改变控件位置,可以使用center属性
如果需要改变控件大小,可以使用bounds属性
*/
/** ---------------------------------------------------------------------------*/
/** 旋转 */
- (IBAction)rotate:(UIButton *)button
{
// 在OC的开发中,关于角度统一都使用弧度值,逆时针是负值,顺时针是正值
// 180° = M_PI
CGFloat angle = (button.tag) ? -M_PI_4 : M_PI_4;
[UIView beginAnimations:nil context:nil];
self.iconButton.transform = CGAffineTransformRotate(self.iconButton.transform, angle);
[UIView commitAnimations];
NSLog(@"%@", NSStringFromCGAffineTransform(self.iconButton.transform));
NSLog(@"%@", NSStringFromCGRect(self.iconButton.frame));
}
/** ---------------------------------------------------------------------------*/
/** 放大缩小 */
- (IBAction)zoom:(UIButton *)button
{
CGFloat scale = (button.tag) ? 1.2 : 0.8;
self.iconButton.transform = CGAffineTransformScale(self.iconButton.transform, scale, scale);
NSLog(@"%@", NSStringFromCGAffineTransform(self.iconButton.transform));
}