0
我剛剛開始一個新項目,並且希望爲我的一些屏幕使用SplitViewNavigator佈局,因爲它適合我將要做的事情。Flex 4.6 SplitViewNavigator - 顯示/隱藏導航器
然而並非所有的屏幕都應該使用這種佈局(homeview就是其中之一)。所以我開始將側視圖的可見性設置爲false。
<s:SplitViewNavigator includeIn="tablet" width="100%" height="100%">
<s:layout.landscape>
<s:HorizontalLayout />
</s:layout.landscape>
<s:layout.portrait>
<s:VerticalLayout />
</s:layout.portrait>
<s:ViewNavigator width.landscape="35%" height.landscape="100%"
width.portrait="100%" height.portrait="30%"
firstView="views.TestView" visible="false"/>
<s:ViewNavigator width="100%" height="100%" height.portrait="100%"
firstView="views.OnSiteFormHomeView" />
</s:SplitViewNavigator>
我知道如何訪問SpitViewNavigator和各個ViewNavigators。所以我在我的家庭視圖中做了以下(作爲測試),但似乎沒有發生。 (另一個導航器保持全屏顯示)。我試着將代碼附加到intialize和creationcomplete事件中。
// Create a reference to the SplitViewNavigator.
var splitNavigator:SplitViewNavigator = navigator.parentNavigator as SplitViewNavigator;
// Create a reference to the ViewNavigator for the Detail frame.
var sideNavigator:ViewNavigator = splitNavigator.getViewNavigatorAt(0) as ViewNavigator;
var detailNavigator:ViewNavigator = splitNavigator.getViewNavigatorAt(1) as ViewNavigator;
sideNavigator.visible = true;
我認爲我需要以某種方式重新繪製屏幕/導航器。我已經嘗試在splitviewnavigator和各個導航器上調用初始化函數,但它似乎沒有任何區別。