使用Tabbed View Navigator Application,我设置了几页。
<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')"/>
当您导航到测验页面时,您选择了一种测验类型。选择一个测验,打开另一页。
现在,如果你离开这个页面,然后转到另一个页面(比如闪存卡) - 再次选择测验标签会返回到堆栈的最后一页(也就是你的测验)而不是允许你选择什么的页面你想要参加的测验类型。
当您点击标签栏并离开时,是否有一种方法可以自动将视图从堆栈中弹出?或者有没有办法在选择该选项卡时始终显示第一个视图?
答案 0 :(得分:2)
在TabbedViewNavigatorApplication中切换ViewNavigator时会触发FlexEvent.HIDE。解决方案可以是在Quizzes 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。似乎工作。