0

私は自分のプロジェクトにこの機能を持っています

public function changeFormItemsLabelWidth(form:Form, width:int):void
{
    var formItemsArray:Array = form.getChildren();
    for( var i:int = 0; i < formItemsArray.length; i++){
        if(formItemsArray[i].className == "FormItem"){
            var formItem:FormItem = formItemsArray[i] as FormItem;
            formItem.setStyle("labelWidth", width);
        }
    }

そして、私はこのエラーが発生しています:

1061: 静的タイプ spark.components:Form の参照を介して、未定義の可能性があるメソッド getChildren を呼び出します。

getchildren メソッドを置き換える方法を教えてもらえますか? 私はflex 4に移行しており、この方法はもう存在しないためです。

編集:

助けてくれたタンク 私はこのようなことをしましたが、うまくいきます

public function changeFormItemsLabelWidth(form:Form, width:int):void
{

    var it:int = 0;
    var n:int = form.numElements;
    for (it; it < n; it++)
    {
        var formItemsArray:Array = form.getElementAt(it) as Array;
    }

    for( var i:int = 0; i < formItemsArray.length; i++){
        if(formItemsArray[i].className == "FormItem"){
            var formItem:FormItem = formItemsArray[i] as FormItem;
            formItem.setStyle("labelWidth", width);
        }
    }
}
4

2 に答える 2

1

form.numElements繰り返し使用する必要があります。各要素は 経由で到達できform.getElementAt( iterator )ます。

于 2013-01-03T16:00:25.550 に答える
0

あなたがこれを尋ねていないことは知っています。あなたが解決している問題についてはわかりませんが、標準のライフサイクル関数の外で FormItems のサイズを操作するコードは、変なにおいがします。ただの提案です。

于 2013-01-04T04:19:50.913 に答える