Предисловие: я не использую * .xib файлы.
Я создаю экземпляр UINavigationController в классе, который эффективно служит моим «rootViewController».Этот rootViewController также имеет два члена UITableViewController, которые рисуются в разных частях экрана iPad.Один из которых установлен в качестве корневого представления для контроллера навигации.Давайте назовем это tableViewControllerA.
Проблема в том, что когда я вызываю pushViewController на действительном UINavigationController, я не вижу эффекта: [tableViewControllerA.navigationController pushViewController: tableViewControllerX animated: YES];
Я собрал из постов, которые я искал сегодня, что этот метод push должен в свою очередь заставить экран перерисовывать верх стека controller.view.Это не то, что я вижу.
Казалось, в моей реализации произошел разрыв, и пришло время сослаться на рабочий пример в моей среде (xcode 4.0).Предполагая, что стандартные шаблоны предоставят рабочую основу, я создал новые навигационные приложения.Я просто изменил didFinishLaunchingWithOptions: следующим образом.
UIViewController *view1 = [[UIViewController alloc] init];
UIViewController *view2 = [[UIViewController alloc] init];
view1.title = @"view1";
view2.title = @"view2";
[self.navigationController pushViewController:view1 animated:YES];
[self.navigationController pushViewController:view2 animated:YES];
self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:view1];
[view1 release];
[view2 release];
Я нашел похожие результаты.Когда я запускаю симулятор, заголовок экрана читает заголовок того, на что указывает self.window.rootViewController.С кодом как есть, заголовок получающегося главного экрана читается как «view1».Когда я initWithRootViewController: view2, в результате главный экран читает «view2».
Так что, пожалуйста, скажи мне, что я тупой, потому что XYZ ... Спасибо.