控件私有屬性遍歷主要利用OC的RunTime機(jī)制
首先加入頭文件
#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));
}
// 根據(jù)內(nèi)存管理原則釋放指針
free(ivars);
通過KVC進(jìn)行修改
//拿到私有的屬性forKey: 進(jìn)行改變setValue:
// [self.view setValue:<#(nullable id)#> forKey:<#(nonnull NSString *)#>];