Изменение ViewController в NIB

Я создал приложение на основе VIEW под названием ktemp1. и он сгенерировал.., ktempView1Controller.h и ktempView1Controller.m..,

Позже я создал еще одно представление.., скажем, "ktemp2ViewController.h" и "ktemp2ViewController.m".

У меня есть навигационный контроллер, определенный в AppDeligate с rootViewController, установленным как ktempView1ViewController., Сделав это, все работает нормально..

НО, что я хочу, это установить ktemp2ViewController в качестве rootViewController.

Для этого я изменяю класс ViewController в MainWindow.Xib на ktemp2ViewController и меняю rootViewController на ktemp2ViewController.., но всякий раз, когда я запускаю приложение, я получаю ktempView1 в качестве rootView и даже когда я нажимаю на ktemp2ViewController в MainWindow.Xib, представление в IB загружается из ktemp1ViewController... Кто-нибудь может мне помочь?

2 ответа

Решение

В стандартном яблочном шаблоне вы найдете что-то подобное в вашем AppDelegate didFinishLaunching.

window.rootViewControlller = self.viewController;

В вашем приложении должен быть только один rootViewController, и вы не должны пытаться установить его где-либо еще, кроме AppDelegate.

Итак, что важно в вашем случае, так это свойство viewController в appDelegate. Когда вы смотрите на свой MainWindow.xib, вам нужно убедиться, что он содержит kTempViewController2 и связан с вашим свойством AppDelegate.viewController (AppDelegates должен быть владельцем MainWindow.xib).

Я надеюсь, что у вас есть контроллер навигации в вашем mainWindow.xib.

Исследуйте его, и вы сможете увидеть контроллер представления (корневой контроллер представления) и другой контроллер представления, если таковой имеется.

Выберите корневой контроллер представления, установите его тип класса и укажите его имя пера.

Другие вопросы по тегам