我第一次从状态A切换到B时,它没有进行转换。在第一次转换之后,相同的状态更改确实会发生转换。
在我让状态B加载之前,它会解析xml文件并将其映射到对象。完成后,状态会发生变化。也许它与解析xml有关。但我可以在更改状态之前确认已完成解析。
<s:Transition toState="B">
<s:Sequence>
<s:Move target="{menu}" duration="300" />
<s:AddAction target="{newsPostsList}" />
<s:Fade target="{newsPostsList}" />
</s:Sequence>
</s:Transition>
答案 0 :(得分:1)
您需要查看状态中包含的组件的creationPolicy。默认情况下,它是未实例化的。 creationPolicy =“all”可以添加到addChild元素,或者在我的情况下,添加到viewstack - 我在试图解决这个问题时失去了几个小时。现在一切顺利。
答案 1 :(得分:0)
尝试禁用XML解析以确保不是问题。您还可以明确指定转换的起始状态(状态“A”或状态“*”表示任何状态)。同时尝试为Move动作添加显式的x和y值,只是为了理智。可能是状态A和B之间的菜单组件的x和y位置没有不同。
答案 2 :(得分:0)
我有同样的问题。我在转换中使用“淡入淡出”和“交叉淡入淡出”,这些在第一次不起作用,但之后完美地工作。我恐怕我懒得把我的问题缩小到一个有效的例子 - 这太复杂了。但是,我在我的应用程序中有TabBar控制的ViewStack,状态转换包括他们的一些孩子的外观。在我的案例中没有XML解析,但是:)
我希望这与SDK-13933错误(http://bugs.adobe.com/jira/browse/SDK-13993)无关。
答案 3 :(得分:0)
原来我必须摆脱“includeIn = myState”并用“visible.myState = true”和“includeInLayout.myState = true”替换掉那些。它使每次转换运行。
答案 4 :(得分:0)
我找到了邪恶的来源:) 事实证明,在解析的数据可用于模型之前,我稍微解开了状态更改。
感谢大家帮助我解决这个问题。 我已经遇到了过去没有在第一次发射过程中出现问题的问题。您的答案将成为检查常见错误的资源。
答案 5 :(得分:0)
我发现我必须将代码includeIn="<my state>" itemCreationPolicy="immediate"
放在要转换到的状态中的所有组件上。创建项目后,过渡工作顺利进行。
似乎VGroups没有将itemCreationPolicy
设置传递给他们的孩子,因此有必要在所有元素上重复此代码。