我有一个标注,它的内容是由某些用户交互调整大小的。皮肤有一个动画,在此之后,标注不再正确定位,需要重新定位。在调整标注内容的大小后,是否有任何方法使标注无效?
w8f9ii691#
这比我想象的要简单。我在Callout内容的resize事件中添加了一个事件处理程序,然后在该事件中调用Callout方法updatePopUpPosition()来更新Callout位置。一开始我想在Callout调整大小后监听一个事件,但这需要在有效果时调度一个自定义事件。添加resize的事件处理程序,在调整大小效果运行时多次触发,但动画和定位完美无瑕,所以我保留了它。
updatePopUpPosition()
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>
1条答案
按热度按时间w8f9ii691#
这比我想象的要简单。我在Callout内容的resize事件中添加了一个事件处理程序,然后在该事件中调用Callout方法
updatePopUpPosition()
来更新Callout位置。一开始我想在Callout调整大小后监听一个事件,但这需要在有效果时调度一个自定义事件。添加
resize
的事件处理程序,在调整大小效果运行时多次触发,但动画和定位完美无瑕,所以我保留了它。