2010-10-13 69 views
0

我正在使用Flex 3 SDK 3.2。Flex 3 UITextField佈局問題

我在確定UITextField的高度時遇到了問題。 (不幸的是,我必須使用UITextField,因爲我使用FlashEff 2.0,否則我會使用不同的組件)。

我有一個UITextfield是多行,並有wordWrap。文本從數據庫中提取,因此長度會有所不同。我在UITextField下有一個radioButtonGroup。

我的目標是:

  1. 從 保持的UITextField撞毀的RadioButtonGroup的 垂直框。

  2. 要改變基於所述 的UITextField的高度的RadioButtonGroup 的y 位置。

  3. 使TitleWindow的高度變量爲 。 UITextField和radioButtonGroup 位於TitleWindow中。我想 根據裏面的內容改變TitleWindow 的高度。

此刻,我給自己定了的RadioButtonGroup的是開的TitleWindow中一路下跌,使的UITextField的內容不重疊。但是,當UITextField中沒有太多文本時,我會在radioButtonGroup的VBox和它之間產生巨大的差距。

如果我不給TitleWindow一個高度,那麼UITextField會自己伸展到2000像素。

我已經谷歌搜索,從我可以告訴,UITextField的高度行爲怪異。

有誰知道如何解決這個問題?

我創造的UITextField像這樣:

公共變種TF:=的UITextField新的UITextField;

tf.autoSize = TextFieldAutoSize.LEFT;

tf.embedFonts = true;

tf.multiline = true;

tf.text = myText;

tf.width = 440;

tf.wordWrap = true;

var myFormat:TextFormat = new TextFormat;

myFormat.size = 25;

myFormat。blockIndent = 53;

this.addChild(tf);

tf.validateNow();

tf.setTextFormat(myFormat);

我的垂直框看起來是這樣的:

<mx:VBox  id="radioVBox" x="180" y="220"> 

     <mx:RadioButtonGroup id="myRadioButtonGroup" itemClick="goClickHandler(event);"/> 

     <mx:RadioButton  groupName="myRadioButtonGroup" label="A"  fontSize="17" /> 

     <mx:RadioButton  groupName="myRadioButtonGroup" label="B"  fontSize="17" /> 

     <mx:RadioButton  groupName="myRadioButtonGroup" label="C"  fontSize="17" /> 

     <mx:RadioButton  groupName="myRadioButtonGroup" label="D"  fontSize="17" /> 

     <mx:RadioButton  groupName="myRadioButtonGroup" label="E"  fontSize="17" /> 

而這一切都包裹在一個TitleWindow中,看起來像這樣:

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" 

     layout="absolute" 

     width="520"  

     height="450" 

     verticalScrollPolicy="off" 

     horizontalScrollPolicy="off" 
    > 

有什麼建議?

謝謝。

-Laxmidi

回答

0

rtalton幫了我。

我發現radioVBox正在向上移動並重疊MainBox,因爲UITextField是動態的,並且對它有FlashEff2效果。基本上,當計算radioVBox的佈局時,MainBox的高度爲0。

因此,我將UITextField添加到一個VBox。在那之下我有了radioVBox。我將radioVBox的可見性設置爲false。然後,我爲FlashEff2效果結束時添加了一個eventListener,它調用了打開radioVBox可見性的函數。另外,在我設置的函數中:radioVBox.y =(tf.y + tf.height + 40);.最後,我將TitleWindow的高度設置如下:height =「{radioVBox.y + 270}」

謝謝。

-Laxmidi