我需要在我的应用程序中使用TextArea,因为它支持TLF框架并允许用户对文本进行编辑。
我的问题是这个TextArea必须是MovieClip的子节点,但我不能使它工作,并且不显示TextArea。
以下是我的代码示例:
var mc:UIMovieClip = new UIMovieClip();
mc.graphics.clear();
mc.graphics.lineStyle(2, 0, 1);
mc.graphics.drawRect(0, 0, 400, 300);
mc.width = 400;
mc.height = 300;
var textArea:TextArea = new TextArea();
textArea.width = 350;
textArea.height = 250;
textArea.text = "Hello world!";
mc.addChild(textArea);
myCanvas.rawChildren.addChild(mc);
当我直接将TextArea作为画布的子项添加时,TextArea组件正确显示,即当我替换行时
mc.addChild(textArea);
以下
mainCanvas.addChild(mc);
TextArea需要成为MovieClip的子级的原因是我正在使用一个使用MovieClip的外部库。 如果我使用UIMovieClip而不是MovieClip,这个技巧就不起作用。
有人可以解释为什么在这种情况下不会显示TextArea吗? 是否有任何解决方法可以获得所需的结果? (我尝试使用UIComponent作为中间子项而没有成功)
答案 0 :(得分:0)
如果您使用的MovieClip
是从Flash编译的,我们最近使用的一个很好的解决方案是将其实际导出为Flex友好容器:
http://www.webkitchen.be/2009/02/11/video-tutorial-create-flex-container-components-with-flash-cs4/
如果没有,请尝试扩展ContainerMovieClip
而不是UIMovieClip
,并设置其content
属性。