iOS给UIButton添加一个新的属性

376 阅读1分钟

有时候需要给一个控件动态的添加一个属性,比如button控件等。。。

代码如下

给新加的属性赋值 调用set方法赋值


[self.CharacterBtn setOrderTags: [NSString stringWithFormat:@"%ld",11]];

.h文件如下

#import <UIKit/UIKit.h>
@interface UIControl (Category)

@property (nonatomic, strong) NSString *  OrderTags;
@end
.M文件如下

#import "UIControl+Category.h"
#import "objc/runtime.h"

static const void * OrderTagsBy = &OrderTagsBy;

@implementation UIControl (Category)
@dynamic OrderTags;


-(void)setOrderTags:(NSString *)OrderTags {
    objc_setAssociatedObject(self, OrderTagsBy, OrderTags, OBJC_ASSOCIATION_COPY_NONATOMIC);
}

-(NSString *)OrderTags {
  return objc_getAssociatedObject(self, OrderTagsBy);
}

@end

oc是一个运行时语言。都要给予run_tima时间。