Give a view to print its child controls
-(NSString *) Digview: (UIView *) view
{
if ([View Iskindofclass:[uitableviewcell class]) return @ "";
1. Initialization
nsmutablestring *xml = [nsmutablestring string];
2. Label start
[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)];
}
}
3. Decide if you want to end
if (View.subviews.count = = 0) {
[XML appendstring:@ "/>"];
return XML;
} else {
[XML appendstring:@ ">"];
}
4. Traverse all the child controls
For (UIView *child in view.subviews) {
NSString *childxml = [self digview:child];
[XML Appendstring:childxml];
}
5. End of label
[XML appendformat:@ "</%@>", View.class];
return XML;
}
12.18 Print all subclasses in view