Совместное использование макета сцены / представления между двумя элементами вкладок в приложении на основе вкладок

У меня есть приложение на основе вкладок, и я хочу использовать один и тот же макет представления для двух вкладок.

Представления имеют один и тот же подкласс UIViewController, но, похоже, они не могут использовать одну и ту же сцену / макет в моей раскадровке. Я не могу поместить две вкладки в одну сцену / вид.

Способ, который я "решил", - это просто добавить другое представление, скопировать и вставить макет из исходного представления и подключить переход к новому элементу вкладки. Тогда в viewWillAppear Метод, который я проверяю, отображает различное содержимое в зависимости от того, какая вкладка выбрана Но это хлопотно, если я хочу что-то изменить в макете исходного вида.

Есть ли более элегантный способ добиться этого с помощью раскадровок, или я должен прибегнуть к программному созданию представлений?

1 ответ

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

Это метод делегата, в котором вы можете добавить свою функциональность для каждой вкладки, установив теги для каждой вкладки.

-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
  if(item.tag ==0)
 {
 }
}
Другие вопросы по тегам