2013-03-30 24 views
0

是否可以使用單個視圖控制器啓動項目,然後在第二個或第三個視圖控制器上實現導航控制器,然後在第四個視圖控制器上實現選項卡視圖控制器?還是這種類型的項目需要成爲故事板項目?導航控件和其他控件是否必須位於appDelegate中?

我目前的困境是,我開始只有一個視圖控制器,它有一個圓形的矩形按鈕,可以將您帶到第二個視圖控制器。從第二個視圖控制器中,我想要一個帶有嵌入式表格視圖的導航控制器,它將使我從第二個視圖控制器到第三個視圖控制器回到第四個視圖。我一直在嘗試幾個小時,將必要的代碼放入每個.h和.m文件中,但我一直在打磚牆。

在此先感謝。

回答

0

a。您當然可以提供多個常規視圖控制器,然後在稍後階段添加UINavigationController。當需要呈現導航控制器,可以嵌入內部的一個的詳細視圖控制器如下:

(碼是其中要顯示從細節視圖控制器視圖控制器)

DetailViewController *detailVC = [[DetailViewController alloc] init]; 
UINavigationController *detailNav = [[UINavigationController alloc] initWithRootViewController:detailVC]; 
[self presentViewController:detailNav animated:TRUE completion:nil]; 

灣在UINavigationController(或任何其他視圖控制器)內不允許有UITabBarController。但是,您仍然可以使用UITabBar控件並管理其餘部分。有關此示例,請參閱UITabBarController inside a UINavigationController

+0

嗨馬特,這是非常翔實的感謝!我猜你不能有一個UITabBarController嵌套在UINavigationaController中,但是如果你可以在該行後面實現一個UINavigationController,那麼UITabBarController甚至可以在這條線以後很好地解決我的問題。那麼爲什麼在appDelegate中實現UINavigationController時,您必須在.h文件中具有UINavigationController屬性,事實上,我需要在我的第一個單一視圖.h文件中以及您提供的代碼中使用一個。非常感謝! – user1574598

+0

只有在Interface Builder中創建UINavigationController(爲了保留創建的對象),實際上只需要一個UINavigationController屬性。如果您要在代碼中創建UINavigationController,則在appDelegate中完全不需要屬性。 – Matt

相關問題