mx.core
接口public interface IChildList
实现器 SystemManager, UIComponent

IChildList 接口定义用于访问和处理子项列表的属性和方法,这些列表是 DisplayObjectContainer 的子项的子集。

例如,请考虑 Container 类。此类将覆盖 DisplayObjectContainer API(如 numChildrengetChildAt() 方法)以只访问“内容”子项,这些子项指您放置在其中的控件和其它容器。但是,Container 还可以包含框架自动创建的其它子项,如背景或边框外观以及滚动条。所以,Container 公开了 IChildList 类型的 rawChildren 属性,允许您访问其所有子项,而不只是内容子项。

再比如,SystemManager 类是一个 DisplayObjectContainer,其子项分成了多个层:底层为 Application 等常规子项,然后向上依次为弹出子项、工具提示,最上层为光标。SystemManager 具有名为 popUpChildrentoolTipChildrencursorChildren 的属性(您可以使用它们来访问这些层),并且每个属性都是 IChildList 类型。因此,您可以使用 systemManager.popUpChildren.numChildren 属性计算弹出子项的数量,使用 systemManager.toolTipChildren.addChild() 方法将其它 DisplayObject 插入到工具提示层,等等。

另请参见

mx.core.Container.rawChildren
mx.managers.SystemManager.rawChildren
mx.managers.SystemManager.popUpChildren
mx.managers.SystemManager.toolTipChildren
mx.managers.SystemManager.cursorChildren


公共属性
 属性定义方
  numChildren : int
[只读 (read-only)] 此子级列表中的子项数。
IChildList
公共方法
 方法定义方
  
在此子项列表的末尾添加一个子 DisplayObject。
IChildList
  
在此子级列表的指定索引处添加子 DisplayObject。
IChildList
  
确定 DisplayObject 是否在此子级列表中,或是否为此子级列表中的子项的后代。
IChildList
  
获取此子级列表中指定索引处的子 DisplayObject。
IChildList
  
获取此子级列表中具有指定名称的子 DisplayObject。
IChildList
  
获取此子级列表中特定子项的索引。
IChildList
  
返回位于子级列表中指定点下方的 DisplayObject 的数组。
IChildList
  
从此子级列表中删除指定的子 DisplayObject。
IChildList
  
从此子级列表中删除指定索引处的子 DisplayObject。
IChildList
  
更改此子级列表中特定子项的索引。
IChildList
属性详细信息
numChildren属性
numChildren:int  [只读 (read-only)]

此子级列表中的子项数。



实现
    public function get numChildren():int
方法详细信息
addChild()方法
public function addChild(child:DisplayObject):DisplayObject

在此子项列表的末尾添加一个子 DisplayObject。

调用 childList.addChild(child) 与调用 childList.addChild(child, childList.numChildren) 的效果相同,添加新子项后,新子项的索引为 (child.numChildren - 1)

参数

child:DisplayObject — 要添加为子项的 DisplayObject。

返回
DisplayObject — 已添加的子项;它与传入的参数相同。
addChildAt()方法 
public function addChildAt(child:DisplayObject, index:int):DisplayObject

在此子级列表的指定索引处添加子 DisplayObject。索引 0 代表 DisplayList 的开始位置,而索引 numChildren 代表 DisplayList 的结束位置。

将子项添加到子级列表末尾之外的任何位置都会增加以前位于该索引或更高索引处的子项的索引。

参数

child:DisplayObject — 要添加为子项的 DisplayObject。
 
index:int — 要在其中添加子项的索引。

返回
DisplayObject — 已添加的子项;它与传入的 child 参数相同。
contains()方法 
public function contains(child:DisplayObject):Boolean

确定 DisplayObject 是否在此子级列表中,或是否为此子级列表中的子项的后代。

参数

child:DisplayObject — 要测试的 DisplayObject。

返回
Boolean — 如果 DisplayObject 在此子级列表中,或者是此子级列表中子项的后代,则返回 true,否则返回 false
getChildAt()方法 
public function getChildAt(index:int):DisplayObject

获取此子级列表中指定索引处的子 DisplayObject。

参数

index:int — 从 0 到 (numChildren - 1) 的整数,指定此子级列表中子项的索引。

返回
DisplayObject — 位于指定索引位置处的子项。
getChildByName()方法 
public function getChildByName(name:String):DisplayObject

获取此子级列表中具有指定名称的子 DisplayObject。

参数

name:String — 要返回的子项的名称。

返回
DisplayObject — 具有指定名称的子项。
getChildIndex()方法 
public function getChildIndex(child:DisplayObject):int

获取此子级列表中特定子项的索引。

子级列表中第一个子项的索引为 0,第二个子项的索引为 1,最后一个子项的索引为 (numChildren - 1)

如果 getChildIndex(myChild) 返回 5,则 myView.getChildAt(5) 返回 myChild

如果通过调用 addChild() 方法添加子项,则新子项的索引等于现有子项的最大索引加 1。

您可以使用 addChildAt() 方法在指定索引处插入子项。在这种情况下,先前位于该索引或更高索引处的子项的索引都将增加 1,以便所有子项的索引范围为从 0 到 (numChildren - 1)

如果通过调用 removeChild()removeChildAt() 方法删除子项,则位于更高索引处的子项的索引将减小 1,以便所有子项的索引范围为从 0 到 (numChildren - 1)

如果通过调用 setChildIndex() 方法更改子项的索引,则位于旧索引和新索引之间(包括两者)的子项将调整其索引,以便所有子项的索引范围为从 0 到 (numChildren - 1)

参数

child:DisplayObject — 要获取其索引的子项。

返回
int — 子项的索引,该索引是 0 和 (numChildren - 1) 之间的一个整数。
getObjectsUnderPoint()方法 
public function getObjectsUnderPoint(point:Point):Array

返回位于子级列表中指定点下方的 DisplayObject 的数组。

参数

point:Point — 要查看其下方内容的点。

返回
Array — 位于指定点下方且属于此 Container 子项的对象的数组。
removeChild()方法 
public function removeChild(child:DisplayObject):DisplayObject

从此子级列表中删除指定的子 DisplayObject。

删除子级列表末尾之外的任意位置的子项都会减小更高索引处的子项的索引。

已删除子项的父项将设置为 null,并且如果没有对该子项的任何其它引用,则将其作为垃圾回收。

参数

child:DisplayObject — 要删除的 DisplayObject。

返回
DisplayObject — 被删除的子项;它与传入的参数相同。
removeChildAt()方法 
public function removeChildAt(index:int):DisplayObject

从此子级列表中删除指定索引处的子 DisplayObject。

删除子级列表末尾之外的任意位置的子项都会减小更高索引处的子项的索引。

已删除子项的父项将设置为 null,并且如果没有对该子项的任何其它引用,则将其作为垃圾回收。

参数

index:int — 要删除的 DisplayObject 的子索引。

返回
DisplayObject — 被删除的子项。
setChildIndex()方法 
public function setChildIndex(child:DisplayObject, newIndex:int):void

更改此子级列表中特定子项的索引。请参阅 getChildIndex() 方法了解子项索引的说明。

参数

child:DisplayObject — 要设置其索引的子项。
 
newIndex:int — 指定子项的新索引。新索引必须是零和 (numChildren - 1) 之间的一个整数。