0

Я делаю приложение, которое требует использования UITabBarController, а также UINavigationController. Я сделал следующий поток в раскадровке.Использование UITabBarController с UINavigationController - Swift 3

See image

Теперь первый вопрос заключается в том, что в этом принимается Apple, так как слишком много дискуссий на то же самое.

Другое дело, что можно устранить любые UINavigationController и по-прежнему получать тот же поток приложения? Главное, чтобы на всех вкладках вкладок отображалась ТАБЛИЦА панель вкладок и панель навигации. Следует отметить, что если я удалю второй UINavigationController, тогда мое приложение перейдет непосредственно из подзаголовка в контроллер домашнего просмотра при нажатии кнопки «Назад».

Я застрял на этом с тех пор, как часы. Я новичок в разработке приложений для iOS и никогда не загружал приложение в магазин приложений. Любая помощь будет очень цениться.

EDIT:

я поставил второй навигационный контроллер, как показано в ответах - see this flow, но потому, что у меня есть навигационный контроллер перед HomeViewController, поэтому я получаю навигационную панель в верхней части, а затем некоторое пустое пространство ниже (в точности равной верхней панели навигации), а затем содержимое страницы во время выполнения. Любое решение?

+0

это ящики ... единственный способ, чтобы использовать один основной вид с TabBar в контейнер и этот ящик, навигацию и т. д. сверху. И снова почему яблоко, возможно, не принимало приложение? Oo –

+0

Проверить http://stackoverflow.com/questions/27422054/how-to-implement-tab-bar-controller-with-navigation-controller-in-right-way –

+0

@AvijitNagare Спасибо за ссылку :) – Dia

ответ

0

Да, это приемлемо для Apple.

Но иерархия просмотра не управляется правильно. В вашем случае панель вкладок будет контроллером корневого представления для второго контроллера навигации.

Кроме того, вкладка Tab и суб-табуляция будет частью второго навигационного контроллера.

Именно по этой причине вы возвращаетесь к контроллеру Home view.

Рекомендуется использовать контроллер навигации для каждой вкладки для управления иерархией подпозиций.

Вы можете представить контроллер панели вкладок или setviewcontroller из контроллера Home View.

+0

, поэтому вы подразумеваете, что поток будет как контроллер панели вкладок> контроллер навигации> tab1; такой же контроллер панели вкладок> другой контроллер навигации> tab2 и т. д.? – Dia

+0

@ пользователь7205816. верный. поэтому каждая вкладка nav. против. будет управлять своим собственным стеком. –

+0

Но я получаю пустое пространство под панелью навигации (см. Отредактированный вопрос), и если я устанавливаю бар второго контроллера навигации на нет, тогда, когда мы нажимаем кнопку «Назад» на суб-вкладке, она переходит к контроллеру домашнего просмотра – Dia

0

Первых встраивать панель вкладок контроллер, как на этом изображении enter image description here и контроллере бара встраивать навигации как в этом образе enter image description here наконец, это будет выглядеть enter image description here

+0

, но в этом случае я нужно встроить навигационный контроллер на все 4 страницы tabcontroller? – Dia

+0

Я сделал то же, что и вы, но потому, что у меня есть контроллер навигации перед HomeViewContreoller, поэтому я получаю панель навигации наверху, а затем некоторое пустое пространство ниже (точно равное верхней панели навигации), а затем страницу содержимое во время выполнения. Любое решение? – Dia

+0

да, вам нужно встроить во все 4 вкладки контроллера. –