//用枚举和宏 优化后的代码;
#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
本文展示了如何在Objective-C中利用枚举和宏优化代码,通过宏定义简化移动方向的处理,并使用枚举类型来区分不同的移动方向。通过实例代码说明了如何根据按钮的类型调整按钮的位置。
2801

被折叠的 条评论
为什么被折叠?



