iOS 控件私有属性遍历

控件私有属性遍历主要利用OC的RunTime机制
首先加入头文件

#import <objc/runtime.h>

写入代码

    unsigned int outCount = 0;
    Ivar *ivars = class_copyIvarList([NSClassFromString(@"UIView") class], &outCount);
    
    for (NSInteger i = 0; i < outCount; ++i) {
        // 遍历取出该类成员变量
        Ivar ivar = *(ivars + i);
        
        NSLog(@"\n name = %s  \n type = %s", ivar_getName(ivar),ivar_getTypeEncoding(ivar));
    }
    
    // 根据内存管理原则释放指针
    free(ivars);

通过KVC进行修改

    //拿到私有的属性forKey: 进行改变setValue:
//    [self.view setValue:<#(nullable id)#> forKey:<#(nonnull NSString *)#>];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,370评论 30 472
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,658评论 25 709
  • 这是我的第39篇原创日记,我是日记星球259号,正在参加日记星球蜕变之旅。 2017.7.16 Sunday ...
    匠心Summer阅读 2,454评论 0 0
  • 碎了琉璃,淡了经年 时光的伤,是心口一抹擦不掉的朱砂痣 流年,是你口中反复吹响的口哨 一首歌被久久传唱 而我 站在...
    萵是秀秀阅读 1,280评论 0 0
  • 一朝踏上不归路,恋反目、亲难顾。寒露风霜谁与度?冰天雪地,风挠雨阻,病痛无人抚。 凄凉寂寞心中苦,讽刺心酸向谁诉?...
    良柳如烟阅读 2,880评论 16 12