2016-09-02 8 views
0

Чтобы уточнить, я не ищу панель вкладок сверху. Мне интересно, есть ли решение, использующее то, что уже существует, для создания чего-то вроде TabHost/ViewPager в Android для iOS в Swift; т. е. панель может быть перемещена и будет управлять секцией экрана (аналогично фрагментам на Android). Есть много вопросов, предлагающих частичные решения, такие как this и this, в основном показывающие, как разместить панель вкладок сверху.Панель вкладок в произвольном положении, похожая на домашнюю страницу Instagram, в Swift

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

Мне интересно, есть ли более эффективный способ достижения функциональности, аналогичной панели вкладок в доме Instagram, которая находится в середине экрана? Спасибо за ваш вклад.

enter image description here

+0

возможно использование полосы пейджера – Shubhank

ответ

0

С точки зрения подвижной вкладки-бар, нет ничего из коробки согласно UIKit. Вы могли бы найти что-то на https://www.cocoacontrols.com или аналогичных сайтах, которые могли бы соответствовать счету.

В противном случае вам придется создавать пользовательский UIView для обработки этого.

С точки зрения обработки разрезов, например. сверху и снизу, вероятно, было бы лучше подклассифицировать UIViewController и обработать два вида контейнера, как вы показали на своем изображении.

Что касается связи между viewControllers, это не ошибка, склонная к малейшей ошибке. Вы либо используете цепочку ответчиков для передачи сообщений по цепочке, создания или использования ссылок между собой, например. self.parentViewController или self.presentingViewController и более сложными способами let myViewController = self.presentingViewController!.childViewControllers[0] as? MyViewControllerClass

+0

Спасибо за ваш ответ, это действительно помогает. Я просто наткнулся на хороший пример на пользовательской панели вкладок, предоставляемой кодировкой. Я думаю, что это хорошо работает. Я собирался удалить свой вопрос, но я принимаю ваш ответ, поскольку он полезен и закрывает это. Пример CodePath: https://github.com/codepath/ios_guides/wiki/Creating-a-Custom-Tab-Bar – BenedictThe