如何将弹出窗口置于Flex 3.4 +中心?
在Flex 3.1中,我可以通过在createPopup中设置其父级,然后使用centerPopup将弹出窗口置于其父级之上。在Flex 3.4和3.5中,窗口的左上角与其父级的左上角相匹配......即使在centerPopup之后也是如此。
有解决方法吗?或者我没有按预期使用centerPopup?
答案 0 :(得分:0)
现在,我正在使用以下函数,插入到我的静态WindowUtils类中:
// work-around for broken PopupManger.centerPopup in Flex 3.4 and 3.5
public static function centerPopup(popup: UIComponent, centerOn: UIComponent): void
{
var pt:Point = new Point(0, 0);
pt = centerOn.localToGlobal(pt); // Convert local 0,0 into global coordinate
pt = popup.globalToLocal(pt); // Convert the result into local coordinate of myPop
popup.move(Math.round((centerOn.width - popup.width) / 2) + pt.x,
Math.round((centerOn.height - popup.height) / 2) + pt.y);
}