Панель вкладок в Root контроллера Split View - Как подключиться к подробному представлению? - PullRequest
0 голосов
/ 20 февраля 2011

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

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

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

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

Как установить соединение, чтобы при выборе ячейки таблицы информация detailItem отображалась в подробном представлении?Панель вкладок была добавлена ​​в Root View в IB.Должен ли я добавить его программно вместо этого?

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

Спасибо!

1 Ответ

0 голосов
/ 24 февраля 2011

Не стоит слишком увлекаться частью этой вкладки. Подумайте, как будет работать более простое приложение: если вы выберете ячейку в RootViewController, как вы будете уведомлять DetailViewController?

Это не будет автоматом. Скорее всего, у вас будет выделенное соединение от RootViewController к DetailViewController - и вы вызовете некоторый метод для DetailViewController из RootViewController в чем-то вроде

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

метод в RootViewController. Действительно, именно так настраивается шаблонное приложение UISplitView для iPad. Существует соединение IBOutlet от RootViewController к DetailViewController.

Пока вы правильно управляете памятью (сохраняете, освобождаете) - не должно быть проблем, если каждый из ваших (корневых) контроллеров представления (в представлении с вкладками) имеет соединение с одним DetailViewController. Чтобы контроллеры табло не наступали друг на друга, вы можете централизовать логику в класс «посредника». Может быть, вы хотите что-то очистить непосредственно перед тем, как ViewControllerB отсортирует детали, которые только что отсортировал ViewControllerA ...

Эта часть зависит от вас. Просто отметьте, что не происходит никакой черной магии бэкэнда, так что DetailViewController автоматически обновляется, чтобы показать что-то на основе ячейки, выбранной в любом RootViewController.

...