Мы являемся университетским отделом, разрабатывающим приложение для внутреннего распространения через Apple Enterprise Enterprise Program (его не будет в App Store). Он будет содержать «подпапки» для таких вещей, как поиск в справочнике, адреса клиник и номера телефонов и т. Д. Мы разработали его с главной страницей в стиле Springboard со значками, которые будут вызывать отдельные подпапки (аналогично Facebook и многим университетским приложениям, которые мы прочитали).
Я создал главную страницу сетки значков с помощью UINavigationController, чтобы он имел структуру UIViewController, где я могу вернуться на главную страницу, вытолкнув все контроллеры представления из стека:
popToViewController:[[self.navigationController viewControllers] objectAtIndex:0]
Мы хотели бы иметь возможность использовать UITabBarController в некоторых из подпапов, но сталкиваемся с ограничением в объединении интерфейсов контроллера представления, что контроллер навигации не должен включать контроллер панели вкладок. Это ограничение имеет смысл в том, что контроллер панели вкладок разработан таким образом, чтобы он оставался постоянным во всем приложении.
Однако для наших целей «приложение» - это действительно каждый отдельный «подпап», который должен начинаться с чистого листа. Используя UINavigationController с самого начала, мы отказались от возможности иметь подпап с UITabBarController. Рекомендации Apple по разработке хорошо подходят для приложений, которые предназначены для выполнения тесно связанного набора связанных вещей, но для нас важно упаковать несколько вложенных приложений в одно приложение для облегчения их внутреннего распространения и использования.
Есть ли лучший способ встроить контроллер представления в главную страницу, похожую на Springboard, которая позволит мне загружать либо UINavigationController, либо UITabBarController для подпрограмм? Я знаю, что это не то, для чего были созданы контроллеры модального представления. Будет ли возможно использование одного из них на главной странице для запуска подпрограмм?