美文网首页专注iOS开发(OC/Swift)
iOS给UIButton添加一个新的属性

iOS给UIButton添加一个新的属性

作者: 洲洲哥 | 来源:发表于2016-02-02 12:02 被阅读746次

    本文首发地址

    有时候需要给一个控件动态的添加一个属性,比如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时间。

    (提高装逼能力!!!)

    添加微信公众号最快最好的收听

    如有问题可添加我的QQ:1290925041
    还可添加QQ群:234812704(洲洲哥学院)
    欢迎各位一块学习,提高逼格!
    也可以添加洲洲哥的微信公众号

    洲洲哥的OSjoin.jpg

    相关文章

      网友评论

      • e4fa7826e618:我想问下如何动态添加一个bool值啊
        洲洲哥:@businessios #pragma mark - BOOL类型的动态绑定
        - (BOOL)hasChildViewController {
        return [objc_getAssociatedObject(self, kHasChildViewController) boolValue];
        }

        - (void)setHasChildViewController:(BOOL)hasChildViewController {
        objc_setAssociatedObject(self, kHasChildViewController, [NSNumber numberWithBool:hasChildViewController], OBJC_ASSOCIATION_ASSIGN);
        }

        加群一起学习:234812704(洲洲哥之说)
        e4fa7826e618:@洲洲哥 是不是把bool转化成nnstring类型
        洲洲哥:@businessios 需要你手动转换一下的

      本文标题: iOS给UIButton添加一个新的属性

      本文链接:https://www.haomeiwen.com/subject/closkttx.html