1 #import <UIKit/UIKit.h> 2 3 typedef enum { 4 HMImageDirectionLeft, // 左边 0 5 HMImageDirectionRight,// 右边 1 6 } HMImageDirection; 7 8 9 @interface UIImage (Extension) 10 // x值 11 @property(nonatomic,assign) CGFloat x; 12 // y值 13 @property(nonatomic,assign) CGFloat y; 14 // 移动方向 15 @property(nonatomic,assign) HMImageDirection direction; 16 17 @end
#import "UIImage+Extension.h" #import <objc/runtime.h> @implementation UIImage (Extension) static char imageX; static char imageY; static char imageDirection; - (void)setX:(CGFloat)x{ // objc_setAssociatedObject:利用该方法可以给一个分类添加属性 objc_setAssociatedObject(self, &imageX, [NSString stringWithFormat:@"%f",x], OBJC_ASSOCIATION_COPY); } - (CGFloat)x { return [objc_getAssociatedObject(self, &imageX) floatValue]; } - (void)setY:(CGFloat)y { // objc_setAssociatedObject:利用该方法可以给一个分类添加属性 objc_setAssociatedObject(self, &imageY, [NSString stringWithFormat:@"%f",y], OBJC_ASSOCIATION_COPY); } - (CGFloat)y { return [objc_getAssociatedObject(self, &imageY) floatValue]; } - (void)setDirection:(HMImageDirection)direction { // objc_setAssociatedObject:利用该方法可以给一个分类添加属性 objc_setAssociatedObject(self, &imageDirection, [NSString stringWithFormat:@"%d",direction], OBJC_ASSOCIATION_COPY); } - (HMImageDirection)direction { return [objc_getAssociatedObject(self, &imageDirection) boolValue]; } @end