//用枚举和宏 优化后的代码;
#import "ViewController.h"
typedef enum {
kMoveingDirUp=11,
kMoveingDirDown,
kMoveingDirLeft,
kMoveingDirRight,
}kMovingDir;
#define KmoveingDelta 20.0f
@interface ViewController ()
@property (nonatomic,weak) IBOutlet UIButton * iconButton;
@end
@implementationViewController
-(IBAction)compute:(UIButton *)button{
//1. 取出frame
CGRect frame = self.iconButton.frame;
//2. 根据按钮的类型tag,判断移动的方向,再修改结构体的成员
//magic number魔法数字
switch (button.tag) {
case kMoveingDirUp:
frame.origin.y -= KmoveingDelta;
break;
case kMoveingDirDown:
frame.origin.y += KmoveingDelta;
break;
case kMoveingDirLeft:
frame.origin.x -= KmoveingDelta;
break;
case kMoveingDirRight:
frame.origin.x += KmoveingDelta;
break;
}
// 3. 重新为对象的结构体属性赋值
self.iconButton.frame = frame;
}
@end