Accordion.createSegment()

可用性

Flash Player 6 (6.0.79.0)。

版本

Flash MX Professional 2004。

用法

accordionInstance.createSegment(classOrSymbolName, instanceName[, label[, icon]])

参数

classOrSymbolName 指向待实例化的 UIObject 的类构造函数的引用或待实例化的元件的链接名称。类必须是 UIObject 或 UIObject 的子类,但大多数情况下是 View 或 View 的子类。

instanceName 新实例的名称。

label 一个字符串,它指定新的子实例在其标题上使用的文本标签。此参数是可选的。

icon 一个字符串,它引用子项用作其标题上的图标的库元件的链接标识符。此参数是可选的。

返回

指向新创建的 UIObject 实例的引用。

说明

方法;为 accordion 创建子项。新创建的子项被添加到 Accordion 所拥有的子项列表的末尾。使用此方法可以将视图放置于 Accordion 内。创建的子项是 classOrSymbolName 参数中指定的类或影片剪辑元件的实例。可以使用 labelicon 参数为每个子项的关联 accordion 标题指定文本标签和图标。

createSegment() 方法与 createChild() 方法的不同之处在于:labelicon 是作为参数(而不是作为 initalProperties 参数的属性)直接传递的。

在创建每一子项时,按创建顺序给各子项分配索引编号,并将 numChildren 属性的值加 1。

示例

首先在舞台上创建一个名为 my_acc 的 Accordion 实例。向库中添加一个影片剪辑元件,其链接标识符 PaymentForm 为 Accordion 子项。然后,向库中添加一个元件,其链接标识符 payIcon 为子项标题的图标。以下示例创建 PaymentForm 影片剪辑元件的实例,将它命名为 billing,并作为 my_acc 的最后一个子项。它在库中具有标题标签"Payment"(付款)和图标:

var child_obj:Object = my_acc.createSegment("PaymentForm", "billing", "Payment", "payIcon");

以下代码创建作为 View 类的实例的子项:

var child_obj:Object = my_acc.createSegment(mx.core.View, "billing", "Payment", "payIcon");

以下代码也创建作为 View 类的实例的子项,但它使用 import 引用该 View 类的构造函数:

import mx.core.View;
var child_obj:Object = my_acc.createSegment(View, "billing", "Payment", "payIcon");

将一个 Label 组件和一个 TextInput 组件从"组件"面板拖到当前文档的库中(以使库中既具有 TextInput 元件,又具有 Label 元件)。以下代码创建作为 View 类的实例的子项,命名为 billing,再将各子项添加到 billing 以便为表单提供标签和文本输入字段:

import mx.core.View;
import mx.controls.Label;
import mx.controls.TextInput;
var child_obj:Object = my_acc.createSegment(View, "billing", "Payment", "payIcon");
// 创建作为视图实例子项的标签。
var cardType_label:Object = child_obj.createChild(Label, "CardType_label", {_x:10, _y:50});
var cardNumber_label:Object = child_obj.createChild(Label, "CardNumber_label", {_x:10, _y:100});
// 创建作为视图实例子项的文本输入。
var cardTypeInput_ti:Object = child_obj.createChild(TextInput, "CardType_ti", {_x:150, _y:50});
var cardNumberInput_ti:Object = child_obj.createChild(TextInput, "CardNumber_ti", {_x:150, _y:100});
// 填充标签。
cardType_label.text = "Card Type";
cardNumber_label.text = "Card Number";