回去研究一下rawChild

本文探讨了Flex中容器(Container)的概念及其与子组件(UIComponent)的管理方式,特别是使用rawChildren属性来获取和管理所有子显示对象的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回去研究一下rawChild

 

FlexSprite还不能直接addChild

要用rawChild

 

rawChildren是容器特有的,看看API就可以大概理解rawChildren的作用了。

  

uiComponet属于组件,非容器,因此是没有rawChildren方法的

 

mx.core.Container是“组件(UIComponent)容器”,用来管理其中子组件(UIComponent)的布局。

 

通过Container的numChildren属性和getChildAt()方法就可以遍历其所包含的子组件,也可以通过getChildren()方法一次性获得所有子组件的数组。通过addChild()、addChildAt()、removeChild()、removeChildAt()、removeAllChildren()等方法来维护容器所包含的子组件。我们最常用的Application就是组件容器,组件同组件容器的关系非常密切,Flex中的组件无法脱离容器而独立显示,Flex组件必须放在某个容器中才能工作。因此,Flex组件的生命周期和布局都与组件容器息息相关,这一点在2.5.2节中会有详细阐述。


    mx.core.Container是组件(UIComponent)容器的同时也是一个“显示对象容器(DisplayObjectContainer)”。值得注意的是:作为组件(UIComponent)容器,Container覆盖了继承自DisplayObjectContainer的addChild()、addChildAt()、removeChild()、removeChildAt()等方法,这些方法在Container类中只是用来维护组件容器所包含的子组件,这不同于维护子显示对象。同时,Container的numChildren属性也只是用来表示容器中所有子组件的数量而不是所有子显示对象的数量。
    Container自身也是一个组件,它也有自己的内部对象,比如边框、背景、滚动条、标题、注脚等,这些内部对象被称为组件容器的“边饰”。从显示对象容器角度来看,Container的内部对象以及子组件都是显示对象容器的子显示对象。因此,容器的所有子显示对象应包括其内部对象以及所有的子组件(child UIComonent),通过Container的rawChildren属性可以获得访问容器所有子显示对象的接口。代码清单2-18列出了Application对象的所有子显示对象,并标记了每个子显示对象是子组件还是内部对象,如下所示。
代码清单2-18列出Application的内部对象和子组件 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值