2011-08-27 57 views
0

我正在嘗試修改我幾個月前在iOS中使用導航控制器的應用程序。iOS - 替換NavController中的初始視圖

我的目標是更換一個新的(這將反過來調用原始視圖控制器)當前的默認視圖控制器

在試圖梳理出哪些是爲了做這樣的事情發生。我創建了一個新的視圖控制器和相應的筆尖,並將它們設置爲應用程序委託中的變量。在應用程序的委託,這是當前代碼,這使得該呼叫到「老的」初始視圖:

navController.viewControllers = [NSArray arrayWithObject:questionViewController]; 

[window addSubview:navController.view]; 

[self.window makeKeyAndVisible]; 

問題1:對於主窗口(MainWindow.xlb)筆尖文件具有的問題的視圖控制器如一個對象(以及導航控制器)。它需要在那裏嗎?

問題2:爲了使新的視圖控制器成爲默認視圖,我應該改變什麼?

回答

1
  1. 是的,您需要該連接,否則您將無法像應用代理那樣參照questionViewController。但是,如果questionViewController不再是您的第一個視圖控制器,則應將其替換爲另一個視圖控制器。
  2. 就像你已經有了,用
navController.viewControllers = [NSArray arrayWithObject:/*new first view controller*/];

當然,你還必須把它的廈門國際銀行文件,並將其連接到一個IBOutlet,所以你可以使用它。

+0

謝謝 - sigabort最近回答了問題1!爲了將來的參考,我將對象庫中的ViewController添加到主筆尖中,並使用屬性檢查器將其連接到相關的筆尖。從那裏,它只是一個通過拖拽連接應用程序委託對象到新的筆尖的問題。 –