1

使用选项卡式视图导航器应用程序,我设置了几个页面。

<s:TabbedViewNavigatorApplication splashScreenImage="@Embed(source='images/loading.png')"
                              splashScreenScaleMode="letterbox"
                              backgroundColor="0xFFFFFF"
                              xmlns:fx="http://ns.adobe.com/mxml/2009" 
                              xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="240">
<s:ViewNavigator label="Main Menu" width="100%" height="100%" firstView="views.MainView" icon="@Embed(source='images/home.png')"/>
<s:ViewNavigator label="Flash Cards" width="100%" height="100%" firstView="views.FlashCardsView"  icon="@Embed(source='images/card.png')"/>
<s:ViewNavigator label="Quizzes" width="100%" height="100%" firstView="views.QuizzesView" icon="@Embed(source='images/test.png')"/>

当您导航到测验页面时,您选择了一种测验类型。选择一个测验,打开另一个页面。

现在,如果您离开此页面并转到另一个页面(例如闪存卡) - 再次选择测验选项卡会将您返回到堆栈中的最后一页(也就是您的测验),而不是允许您选择测验类型的页面你想拿。

当您点击标签栏并导航离开时,是否有一种方法可以自动将视图从堆栈中弹出?或者有没有办法在您选择该选项卡时始终显示第一个视图?

4

1 回答 1

2

当您在 TabbedViewNavigatorApplication 中的 ViewNavigator 之间切换时,会触发 FlexEvent.HIDE。一个解决方案可以是当不再显示该视图时,在测验 ViewNavigator 中弹出您的第一个视图:

<s:ViewNavigator id="quizzes" label="Quizzes" width="100%" height="100%" firstView="views.QuizzesView" icon="@Embed(source='images/test.png')" hide="{quizzes.popToFirstView()}" />

我刚刚为您的 ViewNavigator 和 hide 功能添加了一个 ID。似乎工作。

于 2012-05-18T14:01:53.907 回答