iOS 控件私有属性遍历

作者: CCSHCoder | 来源:发表于2016-06-23 19:08 被阅读492次

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

    #import <objc/runtime.h>
    

    写入代码

        unsigned int outCount = 0;
        Ivar *ivars = class_copyIvarList([UITextField 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 *)#>];
    

    相关文章

      网友评论

      本文标题:iOS 控件私有属性遍历

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