我正在使用Flex 3,SDK 3.2。
我在确定UITextField的高度时遇到了问题。 (不幸的是,我必须使用UITextField,因为我使用的是FlashEff 2.0。否则,我会使用不同的组件。)
我有一个多线的UITextfield并且有wordWrap。文本是从数据库中提取的,因此长度会有所不同。我在UITextField下面有一个radioButtonGroup。
我的目标是:
保持UITextField 撞到了radioButtonGroup的 垂直框。
更改y radioButtonGroup的位置 根据的高度 的UITextField。
制作TitleWindow的 高度变量。该 UITextField和radioButtonGroup 在TitleWindow中。我想 改变TitleWindow的高度 根据里面的内容。
目前,我已经在TitleWindow上设置了radioButtonGroup的y,以便UITextField的内容不会重叠。但是,当UITextField中没有太多文本时,我在radioButtonGroup的VBox和它之间会有很大的差距。
如果我不给TitleWindow一个高度,那么UITextField将自己扩展到类似2000 px。
我用谷歌搜索,据我所知,UITextField的高度表现得很奇怪。
有谁知道如何解决这个问题?
我像这样创建UITextField:
public var tf:UITextField = new 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);
我的VBox看起来像这样:
<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 :(得分:0)
我发现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