Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 Flex:当我切换TabNavigator选项卡时,所有内容都变为白色_Actionscript 3_Flex3 - Fatal编程技术网

Actionscript 3 Flex:当我切换TabNavigator选项卡时,所有内容都变为白色

Actionscript 3 Flex:当我切换TabNavigator选项卡时,所有内容都变为白色,actionscript-3,flex3,Actionscript 3,Flex3,我刚刚在我的应用程序中添加了一个选项卡navigator: <mx:TabNavigator width="100%" height="100%" backgroundColor="#F7F7F7"> <custom:SomeCustomContainer label="Details" /> <mx:Canvas label="Reporting" width="100%" height="100%"&g

我刚刚在我的应用程序中添加了一个
选项卡navigator

    <mx:TabNavigator width="100%" height="100%"
        backgroundColor="#F7F7F7">

        <custom:SomeCustomContainer label="Details" />

        <mx:Canvas label="Reporting" width="100%" height="100%">
        </mx:Canvas>

    </mx:TabNavigator>
而且它大部分都能工作……除了
应用程序控制栏的一小部分保持白色外:


我在Mac上使用Firefox时遇到了这个问题。我使用PureMVC,所以我的解决方案不会太痛苦,但当我切换选项卡时,我会从我的根应用程序手动调度Event.RESIZE。这将强制显示列表刷新并解决问题。

将TabNavigator的historyManagementEnabled属性设置为false对我有效

我已经尝试将我的自定义组件放在自己的组件中,但这似乎没有帮助。这似乎是一个特定于Firefox的错误,因为我无法在Safari中复制它。自定义容器的尺寸是多少?在任一维度上是否接近或大于~4092px极限?这是为Flash Player 9或10编译的吗?所有的容器都“相当小”(我想是600px±100),这是FP9.Hrm,嗯,大部分都能工作……奇怪的是,除了我的应用程序控制栏中的一个小区域。请参阅更新的说明。我没有调用
invalidateDisplayList()
,而是尝试调用
dispatchEvent(new Event(Event.RESIZE))
,但似乎没有任何效果…这就是为什么我尝试
invalidateDisplayList()
.dispatchEvent(new Event(Event.RESIZE,true))-使其冒泡?我有点抓紧稻草了。Application.Application.dispatchEvent(新事件(Event.RESIZE))?这是一个糟糕的错误。我想把它放在他们的bug库中,但我无法识别它来这样做:/d'oh!当然为什么我没想到要试试?不管怎样,它工作得很好——谢谢。
// Where 'this' is the main Application
ChangeWatcher.watch(this, ["myTabNavigator", "selectedIndex"], function() {
    invalidateDisplayList()
});