2012-07-31 32 views
0

我想用for循環一次創建多個文本字段。 我知道在正常的Flash中,我可以使用addChild在我的應用程序中添加一個對象。在Flex中,這似乎不起作用。我只能看到一個文本框,而不是更多? :(Flex多文本字段?

這裏是我的代碼

  var Num:uint = int(cmbbox.selectedItem); 
      var s:uint=0; 
      if(Num<=32) { 
       while(Num>0) { 
        var t:TextInput = new TextInput; 
        var nummer:uint; 
        nummer = Num/2; 
        Num = nummer; 
        s++; 

        t.name = "t" + s; 
        t.editable =false; 
        t.graphics.beginFill(45); 
        t.x +=50; 
        trace(Num); 
        loller.alpha=0.2; 
        loller.addElement(t); 
       } 

      }   

希望有人能幫助:-)

乾杯,

湯姆

回答

3

沒有理由這不應該工作。你確定你是不是把他們都在同一X位置:

// component created w/ default X value of 0 
var t:TextInput = new TextInput; 
.. 
// X set to 0 + 50; thus positioning every TextInput at an X position of 50 
t.x +=50; 

如果我原來的答覆是不清楚,你將不得不修改代碼,以便在不同的定位將TextInput的位置。一種方法是存儲X值並在每次循環中遞增。

// create new value 
var xOffSet : Int = 50; 

while(Num>0) { 
    // component created w/ default X value of 0 
    var t:TextInput = new TextInput; 
    .. 
    // position TextInput 
    t.x =xOffset; 
    // increment XOffset 
    xOffset += 50; 
} 
+0

是的,我有一個在我的代碼,它似乎並沒有工作:■ 這是我得到http://d.pr/i/dewe – 2012-07-31 17:24:53

+0

我知道你有你的代碼。這會將每個TextInput放在完全相同的x位置。 (因爲你沒有指定Y位置,也是在相同的Y位置)。我的答案不清楚嗎? – JeffryHouser 2012-07-31 17:41:10

+0

我編輯了我的答案,爲您提供了一個解決方案,而不僅僅是指出錯誤。 – JeffryHouser 2012-07-31 17:45:01