0

フレームワークで「MXTouchViewGroup*」コードを使用して下部にタブバーを作成/使用する方法を示すサンプルコードを持っている人はいますか。MXToughViewGroup *のコードを見ると、タブバーを使用してナビゲーションフレームワークをセットアップ/使用する方法が100%明確ではありません。残念ながら、MonoCrossの本にもこのケースの例はありません。

どんな助けでもいただければ幸いです。

前もって感謝します。

4

1 に答える 1

0

そのため、MonoCross ソースを調べた後、MonoCross パターンを使用している間、特に MonoCross.Navigation を使用してアプリ内を移動している間に、MonoTouch/iOS タブ バーを使用する方法を理解しました。

//------- MonoCross Shared Application

// Main Menu
NavigationMap.Add("Menu/Tab1", new Tab1Controller());
NavigationMap.Add("Menu/Tab2", new Tab2Controller());
NavigationMap.Ass("Other", new OtherController());

// Set default navigation URI
NavigateOnLoad = "Menu/Tab1";

//------- MonoCross.Touch Container

// init monocross application
MXTouchContainer.Initialize(new SharedApplication(), this, window)

// Add view to container as usual
MXTouchContainer.AddView<ModelTab1>(typeof(Tab1View),ViewPerspective.Default);
MXTouchContainer.AddView<ModelTab2>(typeof(Tab2View),ViewPerspective.Default);
MXTouchContainer.AddView<ModelOther>(typeof(OtherView),ViewPerspective.Default);

// Create a MXTouchViewGroup, with items representing tab items     
MXTouchViewGroupItem[] menuItems = new MXTouchViewGroupItem[] {
        new MXTouchViewGroupItem(typeof(Tab1View),"Tab 1!",""),
        new MXTouchViewGroupItem(typeof(Tab2View),"Tab 2!",""), 
            };
MXTouchViewGroup tvg = new MXTouchViewGroup(new MXTouchViewGroupTabController(),menuItems);

// Add the group to MXTouchContainer.ViewGroups 
List<MXTouchViewGroup> ltvg = ((MXTouchContainer)MXTouchContainer.Instance).ViewGroups;
ltvg.Add(tvg);

// navigate to to starting location now
MXTouchContainer.Navigate(null,MXTouchContainer.Instance.App.NavigateOnLoad);

共有アプリで、通常どおり MXController から派生したコントローラーを作成し、NavigationMap に追加します。「共有アプリケーション」で特別なことをする必要はまったくありません

The MonoCross Container では、通常どおり MXTouch*View から派生したビューを通常どおりコンテナーに追加します。異なる方法は、タブごとに 1 つの「MXTouchViewGroupItems」を作成して「MXTouchViewGroup」を作成することです。各「MXTouchViewGroupItem」には、ビューが 1 つ関連付けられています。タブ バーに適切な "MXTouchViewGroup" アイテムを作成し、次に示すようにグループを "MXTouchContainer" に追加し、フレームワークが通常どおり最初のビューに移動できるようにします。

これらすべての結果として、「グループ」(つまり、「Tab1View」または「Tab2View」) にあるビューに移動すると、フレームワークはそれ以上の介入なしに、そのビューでタブ バーを自動的にレンダリングします。「グループ」(つまり「OtherView」) に含まれていないビューに移動すると、タブバーはレンダリングされません。

それでおしまい。

于 2012-05-17T22:21:03.463 に答える