1. 程式人生 > >---Transform---放大縮小旋轉

---Transform---放大縮小旋轉

  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;

    [UIViewbeginAnimations:nilcontext:nil];

self.iconButton.transform = CGAffineTransformRotate(self.iconButton.transform, angle);

    [UIViewcommitAnimations];

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));

}