在练习缩放旋转UIButton控件时,出现点击控件x,y同时增加或者减一定像素,经过查找是xcode5开启了Auto Layout.
放大缩小的代码
- (IBAction)btnScale:(UIButton *)sender { //动画开始,设置执行时间 [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:1]; int tag = [sender tag]; float scale = tag == 8? 1.2: 0.8; //CGAffineTransform _transform = _btn.transform; _btn.transform = CGAffineTransformScale(_btn.transform, scale, scale); //_transform = _btn.transform; //提交动画 [UIView commitAnimations]; }
左右旋转的代码
- (IBAction)btnRotate:(UIButton *)sender { [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:1]; int tag = [sender tag]; int rotate = tag == 7? 1: -1; _btn.transform = CGAffineTransformRotate(_btn.transform, M_PI_4*rotate); //int rotate = tag==7? 1: -1; //_btn.transform = CGAffineTransformRotate(_btn.transform, M_PI_4*rotate); [UIView commitAnimations]; }
还原控件的操作
- (IBAction)btnReset:(UIButton *)sender { [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:1]; sender.transform = CGAffineTransformIdentity; [UIView commitAnimations]; }