我想使用導航控制器來推/彈出視圖,但我不想在按鈕頂部的酒吧;我自己在做導航UI。推導航控制器堆棧後,視圖不顯示
所以我在我的AppDelegate創建一個navigationController:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[WSViewController alloc] initWithNibName:@"WSViewController" bundle:nil];
self.window.rootViewController = self.viewController;
self.navController = [[UINavigationController alloc]
initWithRootViewController: self.viewController];
[self.window makeKeyAndVisible];
return YES;
}
,然後在我的WSViewController,我有推導航堆棧上的另一個觀點的IBAction爲方法(我已經驗證,它的正確這樣做;我看到它在堆棧上):
- (IBAction)showInfo:(UIButton *)sender {
if (self.wsInfoViewController == nil) {
WSInfoViewController *wic = [[WSInfoViewController alloc] initWithNibName:@"WSInfoViewController" bundle:nil];
self.wsInfoViewController = wic;
}
[self.navigationController pushViewController:self.wsInfoViewController animated:YES];
}
但我沒有看到的信息視圖顯示出來,當我在我的WSViewController(INFO按鈕被顯示出來就好了)自來水。
如果我使navigationController成爲根控制器,那麼我做當我點擊info按鈕時看到wsInfoViewController,但是,我也得到了頂部的導航欄,我不想!
因此......首先,我錯誤地認爲我可以用這種方式使用導航控制器(即將它用於堆棧目的,但不用於任何UI)?第二,如果我沒有錯,爲什麼不是我推入堆棧顯示的視圖?我猜這是因爲我沒有正確地將導航控制器連接到窗口,但我不知道該怎麼做。
謝謝!
Elisabeth
你連接IBOutlet與你的viewController? –
你的意思是當我點擊按鈕時我的showInfo方法被調用?是的,並且我在將視圖推送到堆棧的位置之後放置了一個斷點,並且該視圖肯定在堆棧中。我認爲問題是窗口不知道navigationController堆棧,但我不知道如何正確設置它。 – Elisabeth
不,我的意思是你在FileOwner中將你的IBOutlet WSInfoViewController與viewController連接起來了嗎? –