文章浏览 复制本页面地址

虐我--好玩按钮--代码实现

@implementation BEViewController

 

- (void)btnClickWithBlock:(void (^)())block{

[UIView beginAnimations:nil context:nil];

[UIView setAnimationDuration:1.0];

block();

[UIView commitAnimations];

}

 

- (IBAction)onrun:(id)sender{

[self btnClickWithBlock:^{

CGRect Tmpefram = _btn.frame;

switch ([sender tag]) {

//向上

case 1:

Tmpefram.origin.y -=MOVE_LENGTH;

break;

//向右

case 2:

Tmpefram.origin.x +=MOVE_LENGTH;

break;

//向左

case 3:

Tmpefram.origin.y +=MOVE_LENGTH;

break;

//向下

case 4:

Tmpefram.origin.x -=MOVE_LENGTH;

break;

default:

NSLog(@"什么都没做");

break;

}

_btn.frame = Tmpefram;

 

}];

}

 

- (IBAction)Rotate:(id)sender {

[self btnClickWithBlock:^{

switch ([sender tag]) {

//向左旋转

case 11:

//向左旋转45度 但是这样只能旋转一次

//_btn.transform = CGAffineTransformMakeRotation(-M_PI_4);

//获取当前形变状态再进一次的操作

_btn.transform = CGAffineTransformRotate(_btn.transform,- M_PI_2);

break;

//向右旋转

case 12:

_btn.transform = CGAffineTransformRotate(_btn.transform,+ M_PI_2);

break;

default:

NSLog(@"什么都没做");

break;

}

 

}];

}

 

- (IBAction)change_bs:(id)sender {

[self btnClickWithBlock:^{

CGFloat scafe = [sender tag] == 21 ? 1.2:0.8;

_btn.transform = CGAffineTransformScale(_btn.transform, scafe, scafe);

}];

}

 

- (IBAction)backset:(id)sender {

[self btnClickWithBlock:^{

_btn.transform = CGAffineTransformIdentity;

}];

}

标签:
上一篇:
下一篇: