Бар вкладок в разделенном корне контроллера Split View - Как подключиться к подробному виду?

StackOverflow https://stackoverflow.com/questions/5055239

  •  15-11-2019
  •  | 
  •  

Вопрос

Работа над моим первым проектом iPad, и после многих False Starts у меня есть базовый интерфейс, с которым я доволен тем, что состоит из контроллера разделенного представления с полосой вкладки 4 вкладки в нижней части корня / напора.

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

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

Я не нашел никаких других примеров вкладок баров, используемых такими, но кажется идеальным решением для моего приложения.

Как установить соединение, чтобы, когда я выбираю таблицу ячейки, информация о деталях детализации отображается в представлении детализации? Бар вкладок был добавлен в корневой вид в IB. Должен ли я добавлять его программно вместо этого?

У кого-нибудь есть пример проекта, где вы получили это, чтобы работать?

Спасибо!

Это было полезно?

Решение

Don't get too caught up in the 'tabbar' piece of this. Consider how a simpler app would work: if you select a cell in the RootViewController, how would you notify the DetailViewController?

It won't be automatic. Most likely, you will have a dedicated connection from the RootViewController to the DetailViewController - and you will invoke some method on the DetailViewController from the RootViewController in something like the

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

method in the RootViewController. Indeed, this is how the template UISplitView iPad app is setup. There is an IBOutlet connection from the RootViewController to the DetailViewController.

As long as you manage the memory correctly (retain, release) - there should be no problem if each of your (root) view controllers (in the tab view) have a connection to the single DetailViewController. To keep the tab'd controllers from stepping on each other, you may wish to centralize the logic into a 'middleman' class. Maybe you want to clean something up just before ViewControllerB sorts the details that ViewControllerA just sorted ...

That part is up to you. Just note that there is no backend black magic going on such that a DetailViewController is automatically updated to show something based on a cell selected in any RootViewController.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top