2013-03-30 3 views
0

Возможно ли запустить проект с помощью одного контроллера представления, а затем на втором или третьем контроллере представления реализовать контроллер навигации, а затем, возможно, на четвертом контроллере представления реализуется контроллер представления таблиц? Или этот проект должен быть проектом раскадровки?Должны ли элементы управления навигации и другие элементы управления находиться в приложении appDelegate?

Моя дилемма на данный момент заключается в том, что я начинаю с одного контроллера вида, который имеет круглую прямоугольную кнопку, которая приведет вас ко второму контроллеру. Со второго контроллера представления я бы хотел, чтобы контроллер навигации со встроенным табличным представлением возвращал меня назад и четвертый от второго к третьему контроллеру. Я пытался часами вставлять нужный код в каждый файл .h и .m, но я продолжаю ударять по кирпичным стенам.

Заранее спасибо.

ответ

0

a. Вы можете, конечно, представить несколько обычных контроллеров, а затем добавить UINavigationController на более позднем этапе. Если вам необходимо представить навигационный контроллер, вы можете вставлять детали контроллер представления в одном следующим образом:

(код в контроллере представления, который вы хотите, чтобы отобразить детали контроллера вид с)

DetailViewController *detailVC = [[DetailViewController alloc] init]; 
UINavigationController *detailNav = [[UINavigationController alloc] initWithRootViewController:detailVC]; 
[self presentViewController:detailNav animated:TRUE completion:nil]; 

б. Не разрешается иметь UITabBarController внутри UINavigationController (или любого другого контроллера вида). Тем не менее, вы можете использовать управление UITabBar и управлять остальными. Например, см. UITabBarController inside a UINavigationController.

+0

Привет, Мэтт, это очень информативное спасибо! Я предположил, что вы не можете иметь UITabBarController, вложенный внутри UINavigationaController, но если вы можете реализовать UINavigationController позже по строке, то UITabBarController даже позже по этой строке отлично справляется с моим вопросом. Итак, как при внедрении UINavigationController в appDelegate у вас должно быть свойство UINavigationController в файле .h, на самом деле мне нужен он в моем первом отдельном файле .h h, а также код, который вы указали? Большое спасибо! – user1574598

+0

Вам действительно нужно только свойство UINavigationController, только если вы создаете UINavigationController в построителе интерфейса (чтобы сохранить созданный объект). Если вы создадите UINavigationController в коде, вам совсем не нужно свойство в вашем приложении appDelegate. – Matt

Смежные вопросы