遍历输出所有子视图(View)
生活随笔
收集整理的這篇文章主要介紹了
遍历输出所有子视图(View)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
傳入一個(gè)View,可以獲取傳入視圖的所有子視圖,寫(xiě)入桌面,可以在火狐瀏覽器下查看
/*** 程序獲得了焦點(diǎn)就會(huì)自動(dòng)調(diào)用這個(gè)方法(只要程序獲得了焦點(diǎn),所有控件才能接收觸摸事件)*/ - (void)applicationDidBecomeActive:(UIApplication *)application {NSString *xml = [self digView:self.window];[xml writeToFile:@"/Users/aplle/Documents/window.xml" atomically:YES]; }- (NSString *)digView:(UIView *)view {if ([view isKindOfClass:[UITableViewCell class]]) return @"";// 1.初始化NSMutableString *xml = [NSMutableString string];// 2.標(biāo)簽開(kāi)頭[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.判斷是否要結(jié)束if (view.subviews.count == 0) {[xml appendString:@" />"];return xml;} else {[xml appendString:@">"];}// 4.遍歷所有的子控件for (UIView *child in view.subviews) {NSString *childXml = [self digView:child];[xml appendString:childXml];}// 5.標(biāo)簽結(jié)尾[xml appendFormat:@"</%@>", view.class];return xml; }?
轉(zhuǎn)載于:https://www.cnblogs.com/GJ-ios/p/5774510.html
總結(jié)
以上是生活随笔為你收集整理的遍历输出所有子视图(View)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2021计算机考研总结即经验贴(初试、复
- 下一篇: 四则运算个人项目进展