2013-10-18 55 views
2

我完全不熟悉使用Monotouch的iOS編程...我使用此代碼來創建我的導航根視圖。使用Monotouch我如何實現一個UITabBarController作爲我的RootViewController

window = new UIWindow(UIScreen.MainScreen.Bounds); 

UINavigationController rootNavController = new UINavigationController(); 
window.RootViewController = rootNavController; 

UIViewController tabView = new TabContainer(); 
rootNavController.PushViewController (tabView, false); 

我TabContainer的類繼承的類的UITabBarController和我有幾個UIViewControllers被添加到的UITabBarController類。

var tabs = new UIViewController[] { 
    tab1, tab2, tab3, tab4, tab5 
}; 

base.ViewControllers = tabs; 

點擊其中一個選項卡後,我的ViewController將裏面一個UITableView加載和我仍然可以看到TabBarController在底部。如果我現在單擊任何表格單元格,我將推送新視圖並隱藏TabBarController。

tblSource.OnRowSelected += (object sender, TableSourceStationGroup.RowSelectedEventArgs e) => { 
      e.tableView.DeselectRow (e.indexPath, true); 
      stationView = new viewStation (itemList[e.indexPath.Row].Name, itemList[e.indexPath.Row].Id, itemList[e.indexPath.Row].Stations); 
      this.NavigationController.PushViewController(stationView, true); 

當我推新視圖時,如何避免TabBarController隱藏?我想我在這裏關於我的應用程序的結構缺少一些基本的東西。

回答

4

您想設置您的層次結構是這樣的:

      Tab1 -> Nav1 -> View 
Root --> Tab Controller -> Tab2 -> Nav2 -> View 
          Tab3 -> Nav3 -> View 

因此,每個標籤都會有它自己的導航控制器,這將有一個初步的觀點推到它。

在您的示例中,您將Nav控制器作爲根,包含Tab控制器。這是倒退 - 你想讓Tab控制器包含導航控制器。

+0

謝謝!固定!!! – user2895276

+0

很高興幫助。請花時間將此標記爲「正確」的答案 - 應該有一個複選標記按鈕(或其他東西),您可以點擊它旁邊的按鈕。 – Jason

相關問題