我有一個帶有幾個筆尖的TabBar應用程序,大多數都帶有導航欄。它工作得很好,除了tabBar「更多」部分內的「視圖」之外。TabBar應用程序,moreNavigationBar和帶導航條的筆桿
正如預期的那樣,它會將NavBar返回到「更多」列表,以及我放入筆尖的NavBar。
我試圖刪除從moreNavigationBar視圖控制器,並把從我的筆尖的導航欄上的控制器,但我得到的和額外的觀點從什麼地方:
- (void)viewDidLoad {
TestAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
UITabBarController *ctrl = appDelegate.rootController;
UINavigationController *navCtrl = ctrl.moreNavigationController;
[navCtrl popToRootViewControllerAnimated: NO];
[navCtrl pushViewController: navController.topViewController animated: YES];
navController = navCtrl;
[super viewDidLoad];
}
我的AppDelegate:
@interface TestAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UITabBarController *rootController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *rootController;
MainWindow nib是一個基於Window的項目的TabBarController,鏈接到我的應用程序委託中的rootController。
其他筆尖有一個視圖+ navigationController,我有一個UITableViewController子類作爲我的根視圖控制器。
如果我能得到這個工作,它不會解決我的問題,因爲我想讓用戶把它放在tabBar的任何地方,所以,我必須知道是否有一個導航條。所以,我的問題是,你如何知道是否有一個導航條(在這種情況下,如果顯示tabBar的導航條),如果是這樣,我如何讓我的導航控制器「成爲」tabBar的導航控制器?
或者,如果您有關於如何解決這個問題的另一種思路,我還可以理解的:)
謝謝。你的答案實際上讓我多了一點點,但是,當我試圖實施它時,我沒有得到預期的結果。當我在「更多」項/部分中時,仍然會看到兩個導航條。 我不知道如果我需要有一個「SomethingNavViewController」的筆尖,但我嘗試了兩種方式(有和沒有筆尖)。用一個筆尖,我創建一個基於View XIB的,然後拖動一個navigationController並將SomethingNavViewController的出口連接到它。不知何故,這似乎是錯的。 您可以創建一個示例項目並將其託管在某處,以便我可以看一看嗎?謝謝。 – 2010-02-03 03:13:41
我已經讀過你的答案了,我發現了比我錯過了NIB部分。 「將Nav控制器添加到視圖中」是什麼意思?我有一個直接在MainWindow.xib中創建的TabBarController,但我沒有看到放置NavController的位置。我不能看到更多的面板,因爲IB直接顯示所有項目,並且只有在模擬器中運行時才放置「更多」按鈕。 – 2010-02-03 03:56:15
對不起,我的意思是每當我說上面的NIB時XIB。舊習慣。 如果你可以發佈一個示例應用程序,我會檢查出來。我懷疑從這個評論,我不完全理解你的問題。 – corprew 2010-02-03 19:37:18