Совместное использование макета сцены / представления между двумя элементами вкладок в приложении на основе вкладок
У меня есть приложение на основе вкладок, и я хочу использовать один и тот же макет представления для двух вкладок.
Представления имеют один и тот же подкласс UIViewController, но, похоже, они не могут использовать одну и ту же сцену / макет в моей раскадровке. Я не могу поместить две вкладки в одну сцену / вид.
Способ, который я "решил", - это просто добавить другое представление, скопировать и вставить макет из исходного представления и подключить переход к новому элементу вкладки. Тогда в viewWillAppear
Метод, который я проверяю, отображает различное содержимое в зависимости от того, какая вкладка выбрана Но это хлопотно, если я хочу что-то изменить в макете исходного вида.
Есть ли более элегантный способ добиться этого с помощью раскадровок, или я должен прибегнуть к программному созданию представлений?
1 ответ
Вы можете создать приложение на основе одного представления. и добавьте контроллер панели вкладок с теми вкладками, которые вы хотите. Затем просто добавьте методы делегата панели вкладок, где вы можете установить функциональность для каждой вкладки в одном представлении.
Это метод делегата, в котором вы можете добавить свою функциональность для каждой вкладки, установив теги для каждой вкладки.
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
if(item.tag ==0)
{
}
}