我在adobe air表单中有四个TextInput控件。 它们显示在名为:pnlUnlockCode。
的面板中现在我要做的是为这四个TextInput实现一个for..each循环,如
foreach (Control c in this.Controls)
{
c.Height = this.Height * (sizes[count].Height / SCALE_H);
c.Width = this.Width * (sizes[count].Width / SCALE_W);
c.Left = this.Width * (positions[count].X / SCALE_W);
c.Top = this.Height * (positions[count].Y / SCALE_H);
}
在c#中。
请拉我解决这个问题。
等待您的回复。
由于
答案 0 :(得分:1)
您可以执行以下操作:
for( var i:int=0; i < pnlUnlockCode.numElements; i++){
var c:TextInput in pnlUnlockCode.getElementAt(i)
...
}
答案 1 :(得分:0)
这就是我想要的:
var numControls : uint = pnlUnlockCode.numChildren;
for (var i : uint; i < numControls; i++) {
var control : TextInput = pnlUnlockCode.getChildAt(i) as TextInput;
control.setActualSize(sizes[count].Width / SCALE_W, sizes[count].Height / SCALE_H);
control.move(positions[count].X / SCALE_W, positions[count].Y / SCALE_H);
}
注意,您也可以通过设置显示对象的scaleX, scaleY
属性来应用缩放。
另请注意:
setActualSize(w, h)
设置的大小显然不可靠。我找不到任何Flex方法来在一次运行中设置widht
和height
。因此,您可能会更好地单独使用width和height属性:
control.width = ...;
control.height = ...;
有人可以证实吗?