0

私は新しいプロジェクトを開始したばかりで、SplitViewNavigatorレイアウトをいくつかの画面に使用することを検討しています。これは、これから行う作業に適しているためです。

ただし、すべての画面でこのレイアウトを使用する必要はありません(ホームビューもその1つです)。そこで、側面図の可視性を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と個々のViewNavigatorにアクセスする方法を知っています。だから私は(テストとして)私のホームビューで次のことをしましたが、何も起こらないようです。(他のナビゲーターは全画面表示のままです)。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と個々のナビゲーターでinitialize関数を呼び出してみましたが、違いはないようです。

4

1 に答える 1

1

私自身の質問に答えるため。ビュー間(ポップ/プッシュ)で機能することがわかったので、(単一のビュー画面から)次の操作を実行できます。

sideNavigator.visible = true;
sideNavigator.pushView(SideViewHere);
detailNavigator.pushView(NewMainView);

逆は次のようになります。

detailNavigator.popView();
sideNavigator.visible = false;
sideNavigator.popView();

それは私に必要なすべてを与えてくれます。

于 2012-10-12T13:36:07.950 に答える