2016-04-02 2 views
-1

В настоящее время у меня есть базовое приложение, в котором есть список элементов в TableView, и я хочу адаптировать панель вкладок под TableView, где все это будет загружать другой набор данных на стол. Тот же пользовательский интерфейс.TableViewController и Tab Views (swift)

Какой был бы лучший способ справиться с этим? Единственное, что я могу придумать, это создать другой отдельный контроллер и скопировать и вставить большую часть кода здесь и направить TabBarController на этот контроллер.

Есть ли более эффективный способ сделать это, например, каким-то образом создать адаптер или проверить, какая вкладка выбрана, а затем перечислить данные?

Извините, если у меня нет смысла. Заранее спасибо.

+1

UISegmentedControl, вероятно, лучший выбор, который представляет собой панель вкладок. Панель вкладок управляет несколькими контроллерами. Если вы хотите использовать панель вкладок, вы можете создать несколько экземпляров вашего одного элемента управления view, но предоставить разные данные, поэтому вам не нужно будет дублировать код. – Paulw11

+0

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

ответ

0

Вы должны добавить дочерние контроллеры (для вкладок) в базовый контроллер и заменить вид базового контроллера от выбранного вкладки ребенка представление-контроллер

Эта ссылка может помочь вам сделать пользовательские TabBar: https://github.com/hollance/MHTabBarController

0

Запустите новый проект Xcode и выберите вкладку в качестве шаблона. Это даст вам ваши вкладки и два пустых контроллера. Вы можете либо добавить UITableView к существующим контроллерам, либо вы можете удалить их и добавить столько контроллеров табличного представления, сколько вам нужно. Чтобы подключить новый контроллер к существующему контроллеру панели вкладок, вы выполняете cntl-перетаскивание из контроллера панели вкладок для каждого из новых контроллеров. Затем выберите «контроллеры представлений» в качестве отношения.

Вы можете использовать один и тот же класс контроллера вида для своих контроллеров Table View. Чтобы разграничить представления, используйте поле «тег» в объекте «Вид» на каждом контроллере представления таблиц. Дайте каждому другому номер. Затем в общем коде контроллера таблицы вы можете получить доступ к этому номеру как view.tag().

+0

FYI: Контроллер табличного представления может отображать до 5 вкладок одновременно - это больше, и это даст вам вкладку «Дополнительно». – Drewf

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