前端之家收集整理的这篇文章主要介绍了
遍历subviews,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
NSString *xml = [self digView:self.view];
[xml writeToFile:@"/Users/frankhou/Desktop/view.xml"
atomically:YES
encoding:NSUTF8StringEncoding
error:nil];
- (NSString *)digView:(UIView *)view
{
if ([view isKindOfClass:[UITableViewCell class]]) return @"";
@H_403_30@// 1.初始化
NSMutableString *xml = [NSMutableString string];
@H_403_30@//2.标签开头
[xml appendFormat:@"<%@ frame=\"%@\"",view.class,NSStringFromCGRect(view.frame)];
if (!CGPointEqualToPoint(view.bounds.origin,CGPointZero)) {
[xml appendFormat:@" bounds=\"%@\"",NSStringFromCGRect(view.bounds)];
}
if ([view isKindOfClass:[UIScrollView class]]) {
UIScrollView *scroll = (UIScrollView *)view;
if (!UIEdgeInsetsEqualToEdgeInsets(UIEdgeInsetsZero,scroll.contentInset)) {
[xml appendFormat:@" contentInset=\"%@\"",NSStringFromUIEdgeInsets(scroll.contentInset)];
}
}
@H_403_30@//3.判断是否要结束
if (view.subviews.count == 0) {
[xml appendString:@" />"];
return xml;
} else {
[xml appendString:@">"];
}
@H_403_30@//4.遍历所有子控件
for (UIView*child in view.subviews) {
NSString *childXml = [self digView:child];
[xml appendString:childXml];
}
@H_403_30@//5.标签结尾
[xml appendFormat:@"</%@>",view.class];
return xml;
}