2011-01-19 23 views
2

Flex的動態標籤,我創建動態標籤有問題 這裏是我的代碼:使用ViewStack

MXML:

<s:TabBar x="1" y="1" height="32" width="100%" dataProvider="{tabHolder}" chromeColor="#EF8B01"/> 
    <mx:ViewStack x="2" y="34" id="tabHolder" width="100%" height="214" creationPolicy="all">   
     <s:NavigatorContent label="Home" width="100%" height="100%"> 
      <mx:Image x="6" y="8" height="181" width="402"/> 
     </s:NavigatorContent>   
    </mx:ViewStack> 

爲:

var newTab:NavigatorContent = new NavigatorContent(); 
      newTab.label = "Dynamic";         
      var lab:Label = new Label(); 
      lab.text = "Dynamic context";         
      newTab.addChild(lab); 

      tabHolder.addChild(newTab); 

未添加標籤,是什麼是錯的?

+0

你有機會嘗試一下我貼在下面的答案嗎? – 2011-01-27 00:20:53

回答

4

以下爲我工作。我改變的唯一方法是使用addElement()方法而不是addChild()將選項卡添加到視圖堆棧。

MXML:

<mx:Button id="myButton" label="Add Tab" click="myButton_clickHandler(event)" /> 
<s:TabBar x="1" y="31" height="32" width="100%" dataProvider="{tabHolder}" chromeColor="#EF8B01"/> 
<mx:ViewStack x="2" y="64" id="tabHolder" width="100%" height="214" creationPolicy="all">   
    <s:NavigatorContent label="Home" width="100%" height="100%"> 
    <mx:Image x="6" y="8" height="181" width="402"/> 
    </s:NavigatorContent>   
</mx:ViewStack> 

的ActionScript:

protected function myButton_clickHandler(event:MouseEvent):void 
{ 
    var newTab:NavigatorContent = new NavigatorContent(); 
    newTab.label = "Dynamic";         
    var lab:Label = new Label(); 
    lab.text = "Dynamic context";         
    newTab.addElement(lab); 
    tabHolder.addElement(newTab); 
} 
+0

作品!謝謝 – Janci 2011-02-01 16:27:55