IPHONE:列出我的应用程序创建的所有 View 和 subview

标签 iphone iphone-sdk-3.0

几周前,我在某处发现了一段代码,允许使用 NSLOG(应用程序创建的所有 View 、 subview 和对象的分层列表)转储到终端,但我再也找不到这段代码了?

你们知道怎么做吗?

预先感谢您的帮助!

最佳答案

我有一个类别,为此类事情向 UIView 添加了以下方法:

- (NSArray *) allSubviews {
    NSMutableArray              *subviews = [self.subviews mutableCopy];

    for (UIView *view in self.subviews) {
        [subviews addObjectsFromArray: [view allSubviews]];
    }
    return subviews;
}

然后您可以 NSLog() 返回的数组。或者,要了解更多详细信息,您可以使用以下内容:

- (NSString *) hierarchyToStringWithLevel: (int) level {
    NSMutableString             *results = [NSMutableString stringWithString: @"\n"];

    for (int i = 0; i < level; i++) {
        [results appendFormat: @"-\t"];
    }

    [results appendFormat: @"[%@, 0x%X], %@", [self class], self, NSStringFromCGRect(self.frame)];
    for (UIView *child in self.subviews) {
        [results appendFormat: @"%@", [child hierarchyToStringWithLevel: level + 1]];
    }
    return results;
}

关于IPHONE:列出我的应用程序创建的所有 View 和 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816185/

相关文章:

iphone - 在另一个应用程序中打开文件

ios - 关闭 UIPopOverPresentationcontroller

iphone - 制作 iPhone 应用程序的多个版本

iphone - 从应用程序和电子邮件中检索保存的图像

iphone - .mobileconfig 文件有什么用?

ios - UIApplication.sharedApplication.delegate.window 和 UIApplication.sharedApplication.keyWindow 有什么区别?

iphone - Google Maps iOS SDK 集成不加载 map

iphone - 使用 UISwitch

objective-c - 在 Xcode 中使用 Mapkit 时出错?

iPhone - 无法安装应用程序