`
反求诸己
  • 浏览: 543151 次
  • 性别: Icon_minigender_1
  • 来自: 湖南娄底
社区版块
存档分类
最新评论

[转载]UIView的层次结构--code

 
阅读更多

转载自:http://blog.csdn.net/theonezh/article/details/8216584

 

// Recursively travel down the view tree, increasing the indentation level for children

- (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 classdescription ]];

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  dumpViewself .window  atIndent :0  into :outstring];

return  [outstring autorelease ];

}

// Show the tree

- (void )logViewTreeForMainWindow

{

     // CFShow([self displayViews: self.window]);

     ATLogInfo ( @"The view tree:\n%@", [ self   displayViews : self . window ]);

}

具体用法就是在你想知道你的view的层次的时候,调用一下这个logViewTreeForMainWindow函数就可以了。


比方说:下面这个就是我的打印结果。非常清晰明了!

 

[ 0] UIWindow

--[ 1] UILayoutContainerView

----[ 2] UINavigationTransitionView

------[ 3] UIViewControllerWrapperView

--------[ 4] UIView                   -----rootViewController

----------[ 5] UITableView

------------[ 6] ServerViewCell_iphone

--------------[ 7] UITableViewCellContentView

------------[ 6] ServerViewCell_iphone

--------------[ 7] UITableViewCellContentView

----[ 2] UINavigationBar

------[ 3] UINavigationBarBackground

------[ 3] UILabel

------[ 3] UIButton

--------[ 4] UIImageView

--------[ 4] UIImageView

--[ 1] UIView                   ----backView

--[ 1] UITransitionView

----[ 2] UIView                ----CameraPlayerView.

------[ 3] UIView              for zoom.--frameView.

--------[ 4] UIImageView

------[ 3] UIImageView

------[ 3] UILabel

--------[ 4] UIImageView

------[ 3] UIImageView

------[ 3] UINavigationBar

--------[ 4] UINavigationBarBackground

--------[ 4] UINavigationItemView

----[ 2] UILayoutContainerView

------[ 3] UINavigationTransitionView    -----recordVideoView

--------[ 4] UIViewControllerWrapperView

----------[ 5] UIView

------------[ 6] UITableView

--------------[ 7] UIImageView

--------------[ 7] UIImageView

------------[ 6] UIToolbar

--------------[ 7] _UIToolbarBackground

--------------[ 7] UISegmentedControl

------[ 3] UINavigationBar

--------[ 4] UINavigationBarBackground

--------[ 4] UILabel

--------[ 4] UIButton

----------[ 5] UIImageView

----------[ 5] UIButtonLabel

分享到:
评论

相关推荐

    UIView-Borders-Swift

    UIView-Borders-Swift 这个项目是从项目 ( ) 的 Swift 迁移安装只需将 UIViewBorder.swift 导入您的项目,您就可以立即开始在所有 UIView 中使用该扩展。用法您可以依靠 Aaron 的来了解用法。

    UIView AutoLayout.zip

    这个压缩包"UIView AutoLayout.zip"包含的项目名为"UIView-AutoLayout-master",很可能是GitHub上的一个开源项目,用于简化Objective-C中使用AutoLayout的过程。 在Objective-C中,原生的AutoLayout使用`...

    UIView和Coco2d-x场景之间的相互切换

    在iOS应用开发中,我们经常会遇到需要在原生的UIKit(UIView)和游戏引擎如Cocos2d-x之间进行交互的情况。这种交互涉及到场景的切换,以便为用户提供更丰富的体验或者实现特定的功能。Cocos2d-x是一个强大的2D游戏...

    UIView-Shimmer:使用Core Animation将花哨的闪光效果应用到iOS应用程序的任何UIView元素的简单方法

    要安装它,只需将以下行添加到您的Podfile中: pod 'UIView-Shimmer' , '~&gt; 1.0' 然后导入 import UIView_Shimmer 迅捷软件包管理器UIView-Shimmer可通过Swift Package Manager获得。 要添加软件包,请转到File -&gt; ...

    uiview-frame-helpers:更少的代码来定位和调整UIView对象的大小

    UIView框架助手 淹没在布局和定位代码中? 在常见情况下,最多可减少75%。 设定X和Y // Then CGRect frame = myView.frame; frame.origin.x = ... frame.origin.y = ... myView.frame = frame; // Now [myView ...

    UIView-Positioning, 在UIView对象中,基于简单属性的框架属性设置.zip

    UIView-Positioning, 在UIView对象中,基于简单属性的框架属性设置 uiview定位收费 UIView Positioning 是一个快速扩展,它提供简单的shorthand 方法,以方便的方式定义任何UIView对象的框架属性( 宽度,高度,x,y ...

    UIView Shadow Maker(iPhone源代码)

    来源:Licence:BSD平台:iOS设备:iPhone / iPad作者:Philip Yu  给任意UIView视图四条边框加上阴影,可以自定义阴影的颜色、粗细程度、... [优才 · Code4App]编译测试,适用环境:Xcode 4.5, iOS 5.0 以上。

    UIView-UIImageEffects:从 UIView 创建模糊图像

    在iOS开发中,`UIView-UIImageEffects`是一个用于在Objective-C中实现视图(UIView)模糊效果的库。这个库提供了便捷的方法,帮助开发者轻松地将模糊效果应用到UI元素上,尤其是`UIImage`对象。模糊效果在现代移动...

    UIView-AutoLayoutView:UIView上的一个小型Objective-C类别,它创建了一个UIView对象,可以在程序化AutoLayout中使用该对象

    变更日志(v1.0.2) 显式导入的UIKit 在自述文件中添加了Swift文档安装说明可可豆pod 'UIView-AutoLayoutView'手动的只需将UIView + AutoLayoutView文件夹拖放到您的项目中,然后在需要访问其提供的信息的类中引用...

    UIView-LoadNib:UIView类别以从xib文件加载UIView

    `UIView-LoadNib` 是一个Objective-C类别,它扩展了`UIView`的功能,允许开发者方便地从XIB(Interface Builder文件)加载视图。这篇文章将深入探讨`UIView-LoadNib`的使用方法,以及如何利用它来提高开发效率。 ...

    定义UIView frame属性的UIView-Positioning

    定义UIView frame属性的UIView-Positioning,源码UIView-Positioning,UIView+Positioning是一个Objective-C Category,为定义UIView frame属性(宽度、高度和X、Y)提供好了简单便捷的方法。 UIView+Positioning ...

    UIView-draggable, 添加拖动功能的UIView类别.zip

    UIView-draggable, 添加拖动功能的UIView类别 添加拖动功能的UIView类别。 屏幕截图 CocoaPods安装将 pod'UIView draggable' 添加到 Podfile运行 pod install运行 open App.xc

    ios中关于uiview

    - 视图可以包含其他视图,形成层次结构。子视图覆盖父视图的内容,根据它们在数组中的顺序决定叠加顺序。改变父视图的尺寸会影响子视图的尺寸和位置,而事件响应遵循响应者链,从最具体的视图开始,未处理的事件会...

    UIView-Category:xib 中的 UIView-Category IBinspectable

    `UIView-Category`是一个开源项目,通过创建一个`UIView`的分类(Category),扩展了`UIView`的功能,使得开发者能更方便地自定义和管理视图。这个项目特别强调了在Interface Builder(IB)中的使用,利用`...

    IOS入门-UIView-简单地七彩霓虹灯Demo

    在iOS开发中,UIView是构建用户界面的基本组件。它提供了屏幕上的可视元素,如按钮、文本字段、图片等。在本教程中,我们将探讨如何创建一个简单的“七彩霓虹灯”Demo,这对于初学者来说是一个很好的实践项目,能够...

    UIView 保存为图片

    在iOS开发中,经常需要将一个UIView对象的内容转化为图片,以便于分享、存储或进行其他图形操作。这个过程涉及到的主要知识点是UIView的渲染和图片处理。以下是对这一主题的详细阐述。 首先,UIView是一个用于在...

    UIView-Parallaxify:UIView类别可向UIView添加视差效果

    "UIView-Parallaxify"是一个Objective-C库,专门为UIView类添加了视差滚动效果。这种效果通常在用户滚动屏幕时,背景元素以较慢的速度移动,与前景元素形成对比,从而营造出3D空间的错觉。 1. **Objective-C语言...

    UIView动画

    UIView 动画 UIView动画

    ios-UIView动画、CoreAnimation基本动画、关键帧动画、TransferAnimation的demo.zip

    -uiview动画 -CoreAnimation基本动画 -关键帧动画 -TransferAnimation 文章对应的开发说明 http://liuyanwei.jumppo.com/2015/10/30/iOS-Animation-UIViewAndCoreAnimation.html 如果大家支持,请在github...

    UIView-DragDrop:UIView 上的简单objective-c 类别提供可配置的拖放功能

    UIView+DragDrop 用法 使用安装 pod "UIView+DragDrop" 包含 UIView+DragDrop.h #import "UIView+DragDrop.h" 在 UIView 或 UIView 子类上调用 'makeDraggable' 或 'makeDraggableWithDropViews:delegate:',设置...

Global site tag (gtag.js) - Google Analytics