0

所以我的應用程序的核心是一個標籤欄。在3個選項卡中的每一個都是UINavigationController子類。每個人都有不同類型的表中,當一個行被挖掘,一個細節顯示等。如何在沒有子類的情況下獲得NavigationController功能?

我目前有一個UINavigationController的3個單獨的子類,每個標籤。然後當按下新的標籤時,表格的控制器被按下。

我剛纔讀到你不應該繼承UINavigationController。我並沒有重寫任何UINavigation Controller的功能,但我重寫了viewDidLoad中的UIViewController功能。老實說,這只是它。這看起來很愚蠢,但我不清楚如何獲得導航控制器的功能,而無需繼承我的方式。

那麼我該如何擁有一個UINavigationController,我不會繼承?選擇標籤時,您應該採用什麼方法來切換視圖?

我幾乎是一個noob。如果我只重寫viewdidload,蘋果是否會拒絕我的應用程序來進行UINavigationController的分解?

我聽到人們說不要繼承UINavigationController,而是「模式地呈現」。我已經使用了一點模態演示,但我真的不知道它會如何應用...

感謝您的幫助!

回答

0

你在做什麼viewDidLoad?那麼在根視圖控制器中做,而不是在導航控制器?

P.S.我認爲Apple不會拒絕你的應用程序來繼承UINavigationController。

+0

由於我將不同的視圖加載到Nav控制器的初始視圖中,viewdidload只是分配並推送正確的視圖控制器來顯示。感謝ps btw! – averydev 2010-11-06 17:17:42

+0

據我所知,你有3個導航控制器在每個標籤。我通常以下面的方式實現它:使用UITabViewController創建xib,將UINavigationController添加到每個選項卡中,並將3個不同的控制器分配爲導航控制器的根控制器。 – Yuras 2010-11-06 17:56:15

+0

哦,我明白了!這很有道理。謝謝你的幫助 – averydev 2010-11-06 18:23:34

0

您應該使用類別來添加額外的功能。這將是這個樣子:

@implementation UINavigationController (CustomViewDidLoad) 

- (void)viewDidLoad 
{ 
    //code goes here 
} 

@end 

您可以將它添加到初始化有關類別的navigationcontroller

更多信息(底部),該文件的底部:http://cocoadevcentral.com/d/learn_objectivec/

相關問題