1

我已經解決了這個問題。我只是發佈我的結果,因爲它可以幫助其他人。iOS導航控制器不會移動到下一個視圖控制器

我有一個UITabBarControllerUINavigationControllerUIViewController被推到UINavigationController。我以前在我的UITabBarController上只有2個選項卡,但現在我有6個。所以我有一個「更多」按鈕,必須按才能看到其他選項卡。每當我嘗試在「更多」下的任何標籤中推送UIViewController我的應用程序不會切換到UIViewController。 viewDidAppear函數不會被調用或任何東西。

這裏是我的代碼:

if (newViewController == 0) 
    newViewController = [[NewViewViewController alloc] initWithNibName: @"NewViewControllerXIB" bundle: [NSBundle mainBundle]]; 

TestAppDelegate *appDelegate = (TestAppDelegate *)[[UIApplication sharedApplication] delegate]; 
[appDelegate.navController pushViewController: newViewController animated: true]; 
+0

接受您自己的答案。 – Piyush

+0

我會在兩天內允許我。 – Someone13

回答

0

事實證明,如果您使用的是UITabBarController和您的控制器有這麼多的選項卡,將有一個「更多」按鈕創建的,您的控制器將被放置到預製UIMoreNavigationController。因此,您需要使用爲您創建的UIMoreNavigationController,而不是獲取共享應用程序委託使用的導航控制器。所以你想這樣做:

if (newViewController == 0) 
    newViewController = [[NewViewViewController alloc] initWithNibName: @"NewViewControllerXIB" bundle: [NSBundle mainBundle]]; 

[self.navigationController pushViewController: newViewController animated: YES]; 

我要開始把我所有的視圖控制器推到它從現在開始的導航控制器。學過的知識。

相關問題