2014-02-10 4 views
0

Есть 3 вкладки внутри «View Controller» A и 2 вкладки внутри «View Controller» B ».UITabBarController внутри UITabBarController в ios с помощью раскадровки

Оба контроллера просмотра встроены в UITabBarControllers.

Когда я нажимаю на определенной вкладке «A» Я хочу, чтобы загрузить View «B» и отобразить его собственный UITabBar со своими закладками и не UITabBar проталкивается А.

Я попытался с помощью раскадровки , но приложение терпит крах.

+0

опубликуйте свою ошибку –

+0

Сначала я хочу знать, могу ли я достичь этого в ios? Вкладки внутри определенной вкладки? – user3291667

+0

Отправьте сообщение об ошибке, чтобы мы могли понять, что вы сделали до сих пор. –

ответ

3

Добавить 1 TabbarViewController В StoryBoard, а затем удалить onviewController из двух subViewControllers.

Затем добавьте еще один TabbarViewController и привяжите этот TabbarViewController как viewControllers первого TabbarViewController.

enter image description here

Используя этот способ, которым Вы можете сделать

А -> UITabBarController с 3-мя вкладками

B -> UITabBarController 2 вкладки

enter image description here

+0

Привет, я попробовал ваш пример. Но это не загрузка B, когда я нажимаю элемент второй панели вкладок в A.Должен ли я писать какие-либо действия, когда я нажимаю на элемент второй панели вкладок, присутствующий в A до B? – user3291667

+0

Попробуйте обновленное изображение chnages –

+0

Будет ли он перемещаться в B, когда я нажму на элемент второй вкладки в A. Я не получаю никаких изменений, внесенных вами для изображения выше. – user3291667

0

enter image description here

Если вы хотите что-то вроде этого, то вы можете скачать его из here

+0

Спасибо за ваш ответ man.How я могу достичь того же, без использования ViewController между One TabBarController и другим TabBarController? – user3291667

+0

как сделал это? Когда я это сделал, второй UITabBarController отсутствует. Когда происходит push-сегу, любая помощь? http://stackoverflow.com/questions/35889901/uitabbarcontroller-push-segue-to-another-uitabbarcontroller –

+0

@ 6245Htarwara- проверьте исходный код в ответе –

1

Взято из документации компании Apple на UITabBarController:

При развертывании интерфейса панели вкладок, вы должны установить этот вид как корень окна , В отличие от других контроллеров представлений интерфейс панели вкладок никогда не должен устанавливаться как дочерний элемент другого контроллера представления.

Так что это означает, что Apple официально не поддерживает это. Бывает, что вы можете делать трюки, чтобы заставить его работать, но он может легко сломаться в любое время. На самом деле теперь это сложнее, чем раньше, чтобы заставить его работать из-за изменений, внесенных Apple. Это также несколько плохой дизайн пользовательского интерфейса, чтобы иметь вложенные контроллеры панели табуляции, подобные этому.

Если вы хотите иметь несколько UITabBar s, не рискуя этим, вы можете использовать UITabBar напрямую. У вас может быть один UITabBarController для «внешней» панели вкладок и использовать UITabBar непосредственно для внутреннего, или вы могли бы просто использовать два UITabBar s в первую очередь. Вы должны реализовать протокол UITabBarDelegate, чтобы имитировать поведение UITabBarController, а также настроить контроллер своего вида, чтобы сделать свою собственную оболочку контроллера. Такой подход даст вам лучшее будущее-доказательство, потому что вряд ли он сломается с будущим обновлением iOS.

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