`
119568242
  • 浏览: 427015 次
  • 性别: Icon_minigender_1
  • 来自: 深圳/湛江
社区版块
存档分类
最新评论

[ios]打印ViewTree

    博客分类:
  • ios
 
阅读更多

查看当前view tree结构

 

下列代码加入到AppDelegate

 

- (void)dumpView:(UIView *)aView atIndent:(int)indent into:(NSMutableString *)outstring
{
    for (int i = 0; i < indent; i++) [outstring appendString:@"--"];
    [outstring appendFormat:@"[%2d] %@\n", indent, [[aView class] description]];
    for (UIView *view in [aView subviews])
        [self dumpView:view atIndent:indent + 1 into:outstring];
}

// Start the tree recursion at level 0 with the root view
- (NSString *) displayViews: (UIView *) aView
{
    NSMutableString *outstring = [[NSMutableString alloc] init];
    [self dumpView: self.window atIndent:0 into:outstring];
    return outstring ;
}
// Show the tree
- (void)logViewTreeForMainWindow
{
    //  CFShow([self displayViews: self.window]);
    NSLog(@"The view tree:\n%@", [self displayViews:self.window]);
}

 

 

然后在你想使用的地方使用

 

    AppDelegate *a=(AppDelegate *)[[UIApplicationsharedApplication] delegate];

 

    [a logViewTreeForMainWindow];

此时打印的就是 当前的view tree

如下:

[ 0] UIWindow
--[ 1] UILayoutContainerView
----[ 2] UITransitionView
------[ 3] UIViewControllerWrapperView
--------[ 4] UILayoutContainerView
----------[ 5] UINavigationTransitionView
------------[ 6] UIViewControllerWrapperView
--------------[ 7] UITableView
----------------[ 8] UITableViewCell
------------------[ 9] UITableViewCellContentView
--------------------[10] UILabel
--------------------[10] UIImageView
------------------[ 9] UIButton
--------------------[10] UIImageView
------------------[ 9] UIView
----------------[ 8] UITableViewCell
------------------[ 9] UITableViewCellContentView
--------------------[10] UILabel
--------------------[10] UIImageView
------------------[ 9] UIButton
--------------------[10] UIImageView
------------------[ 9] UIView
----------------[ 8] UITableViewCell
------------------[ 9] UITableViewCellContentView
--------------------[10] UILabel
--------------------[10] UIImageView
------------------[ 9] UIButton
--------------------[10] UIImageView
------------------[ 9] UIView
----------------[ 8] UITableViewCell
------------------[ 9] UITableViewCellContentView
--------------------[10] UILabel
--------------------[10] UIImageView
------------------[ 9] UIButton
--------------------[10] UIImageView
------------------[ 9] UIView
----------------[ 8] UITableViewCell
------------------[ 9] UITableViewCellContentView
--------------------[10] UILabel
--------------------[10] UIImageView
------------------[ 9] UIButton
--------------------[10] UIImageView
------------------[ 9] UIView
----------------[ 8] UITableViewCell
------------------[ 9] UITableViewCellContentView
--------------------[10] UILabel
--------------------[10] UIImageView
------------------[ 9] UIButton
--------------------[10] UIImageView
------------------[ 9] UIView
----------------[ 8] _UITableViewSeparatorView
----------------[ 8] _UITableViewSeparatorView
----------------[ 8] _UITableViewSeparatorView
----------------[ 8] _UITableViewSeparatorView
----------------[ 8] _UITableViewSeparatorView
----------------[ 8] _UITableViewSeparatorView
----------------[ 8] _UITableViewSeparatorView
----------[ 5] UINavigationBar
------------[ 6] UIMoreListController
------------[ 6] UINavigationItemView
------------[ 6] UINavigationButton
--------------[ 7] UIImageView
--------------[ 7] UIButtonLabel
----[ 2] UITabBarCustomizeView
------[ 3] UINavigationBar
--------[ 4] UINavigationBarBackground
--------[ 4] UINavigationItemView
--------[ 4] UINavigationButton
----------[ 5] UIImageView
----------[ 5] UIButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
----[ 2] UITabBar
------[ 3] _UITabBarBackgroundView
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel
------[ 3] UITabBarButton
--------[ 4] UITabBarSelectionIndicatorView
--------[ 4] UITabBarSwappableImageView
--------[ 4] UITabBarButtonLabel

 

 

 

分享到:
评论

相关推荐

    IOS打印功能

    在iOS系统中,打印功能是一项重要的实用特性,它允许用户将iPhone或iPad上的文本、图片、网页等内容通过无线方式发送到支持AirPrint的打印机进行输出。以下是对iOS打印功能的详细解析: 一、AirPrint简介 AirPrint...

    ios-打印日志正常显示Unicode为中文.zip

    但是,苹果对于我们的NSDictionary、NSSet、NSArray等值有中文时,打印出来的是Unicode编码,人类无法直接读懂,因此,笔者研究研究如何将打印出来的日志保持原有的格式化且能够将Unicode编码打印出来是正常人类可读...

    ios蓝牙打印

    在iOS平台上进行蓝牙打印涉及到多个技术点,包括蓝牙通信协议、设备连接管理、数据传输以及打印格式的设定等。以下是对这些知识点的详细说明: 1. **蓝牙技术**:iOS设备支持蓝牙4.0(BLE,Bluetooth Low Energy)...

    ios版连接佳博打印机格式化打印

    在iOS平台上进行蓝牙打印机的开发工作,特别是在与佳博(Gprinter)品牌的打印机进行格式化打印时,开发者需要掌握一系列的技术点。以下是一些关键的知识点: 1. **蓝牙技术**:首先,你需要理解蓝牙技术的基本原理...

    ios-iOS蓝牙小票机打印小票 图片 二维码.com

    iOS蓝牙小票机打印小票 图片 二维码

    ios开发实现socket连接局域网打印机打印

    在iOS开发中,实现通过Socket连接局域网打印机进行打印是一项技术性较强的任务。这个过程涉及到网络编程、设备发现和通信协议的理解。以下是对这一主题的详细解释。 首先,我们需要理解Socket编程的基本概念。...

    ios-蓝牙热敏打印机打印小票,图片,二维码.zip

    在iOS平台上,通过蓝牙连接热敏打印机来打印小票、图片和二维码是一项常见的需求,尤其在零售、餐饮等业务场景中。本项目“ios-蓝牙热敏打印机打印小票,图片,二维码.zip”提供了一个解决方案,它适用于佳博或其他...

    ios-View缩放动画.zip

    "ios-View缩放动画.zip"文件提供的示例着重于从视图的一个角落进行非传统的缩放动画,这与常见的中心点缩放有所不同。让我们详细探讨这种动画实现及其相关知识点。 首先,我们需要了解iOS中的Core Animation框架。...

    ios-View碰撞动画.zip

    "ios-View碰撞动画.zip"这个压缩包文件提供了一个关于视图(View)之间碰撞动画的简单示例。通过分析这个"CollisionDemo"项目,我们可以深入理解如何在iOS应用中实现动态、交互式的视图碰撞效果。 首先,碰撞检测是...

    iOS socket连接打印机打印小票

    在给定的场景中,“iOS socket连接打印机打印小票”涉及了利用CocoaAsyncSocket库来建立与打印机的连接,并发送打印指令。CocoaAsyncSocket是一个强大的Objective-C库,为iOS和macOS平台提供了异步TCP套接字功能。 ...

    GprinterSDK IOS 附带官方demo

    GprinterSDK是佳博公司为iOS开发者提供的一款专业打印SDK,旨在简化iOS应用与Gprinter系列打印机的连接与通信过程。本文将深入探讨GprinterSDK的基本概念、功能特性以及如何通过官方提供的demo进行实践学习。 首先...

    ios-FloatingView.zip

    在iOS开发中,"ios-FloatingView.zip" 文件可能是一个示例项目,它演示了如何创建和实现一个可浮动、可任意拖动并且能够停靠到屏幕侧面的视图。这个功能通常被用于创建类似通知中心小部件或者快捷操作的交互体验。...

    ios-iOS 蓝牙打印机打印小票.zip

    为了能在打印前看到效果,节省点测试纸张,在上次的蓝牙打印机打印小票的功能上...(因小票的字体和间距与iOS中的字体和间距不一样,所以预览效果与实际效果有些许偏差,预览作为辅助布局用,最终以实际打印效果为准)

    iOS手机端日志打印显示工具源码

    iOS手机端log打印显示工具源码,在不连接xcode时,你仍然可以清晰的看到app内系统日志以及NSLog打印的日志,开发调试必不可少,大大提高调试效率,不用时时都链接xcode。 快速方便集成,两行代码即可搞定。 这里提供...

    ios View背景设置

    在iOS开发中,设置View的背景是一个常见的任务,可以实现各种视觉效果。本文将详细讲解三种常用的方法:通过添加UIImageView、获取图片颜色作为背景以及利用图片路径设置背景。以下是对这些方法的深入探讨: 首先,...

    ios Airprint,打印报表

    在iOS平台上,AirPrint是一项非常实用的功能,它允许用户通过Wi-Fi无线网络将内容从iPhone、iPad或iPod touch直接打印到支持AirPrint的打印机上。这个“ios AirPrint,打印报表”项目显然关注如何利用AirPrint技术来...

    IOS聊天View

    在iOS开发中,"IOS聊天View"通常是指用于构建聊天应用程序中的用户界面组件。聊天视图是任何聊天应用的核心部分,它允许用户发送和接收文本、图片、表情符号和其他媒体内容。在这个项目中,"IOS聊天View"是从一个...

    ios-BluetoothPrint IOS 设备连接支持蓝牙的小票打印机进行下票打印.zip

    在iOS开发中,有时我们需要实现与硬件设备的交互,例如连接蓝牙小票打印机进行打印操作。这个"ios-BluetoothPrint IOS 设备连接支持蓝牙的小票打印机进行下票打印.zip"资源提供了一个完整的Demo,用于帮助开发者理解...

    Flutter_iOS_PlatformView_BackdropFilter.pdf

    ### 实现iOS PlatformView的BackdropFilter功能 #### 概述 本文档主要介绍如何在Flutter框架下实现iOS PlatformView的BackdropFilter功能。该文档由Chris Yang(@cyanglaz)、Emily Best(@emilyabest)和Javon ...

    iOS version view.Scriptable

    iOS version view.Scriptable

Global site tag (gtag.js) - Google Analytics