Это было проще, чем я думал. Я добавил обработчик события к событию изменения размера для контента Callout, а затем в этом событии, называемом методом выноса updatePopUpPosition()
, чтобы, очевидно, обновить положение Callout.
Сначала я искал одно событие, которое я мог бы прослушать после того, как вычеркнутый Вызов был изменен, но это потребует отправки специального события, когда есть эффект. Добавление обработчика событий для resize
триггеров несколько раз, когда эффект изменения размера работает, но анимация и позиционирование безупречны, поэтому я держу ее.
<?xml version="1.0" encoding="utf-8"?>
<s:Callout xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
<fx:Script>
<![CDATA[
import mx.events.FlexMouseEvent;
import mx.events.ResizeEvent;
protected function editorBar_resizeHandler(event:ResizeEvent):void {
updatePopUpPosition();
}
]]>
</fx:Script>
<controls:MyContent id="editBar" width="100%" resize="editBar_resizeHandler(event)" />
</s:Callout>