XCode: Как показать TableView, демонстрирующий дерево данных. Чтобы можно было гулять по нему, как по файловой системе. Как в Dropbox на iOS?

Как правильно реализовать NavigationController и TableView, чтобы можно было создавать деревья бесконечной вложенности.

У меня есть таблица с ключами id и parent, по ней нужно сгенерировать отображение поля Text из этой таблицы в простом списке Table View.


Пример:

— Помыть машину >

— Сходить в магазин >

— Завести собаку


Если кликну в «Завести собаку», нужно отобразить:


<назад | «Завести собаку» | +add

— Выбрать породу >

— Купить ошейник

— Узнать про клиники >


Если кликну в «Выбрать породу», отобразить:


<назад | «Выбрать породу» | +add

— Чау чау

— Долматинец

— Овчарка

— Болонка

— Кавказская овчарка


Помогите пожалуйста примером. Весь интернет перерыл, исходников нигде нет.

Скорее всего нужно программно создавать правый Table View, заполнять его новыми значениями и с анимацией показывать.


Но, прошу учесть, что вложенностей может быть бесконечное кол-во.


Буду очень благодарен за ответ.


PS: В Dropbox, папки так выбираются и файлы, именно так, как мне нужно.
dropbox-ios.jpg
  • Вопрос задан
  • 4966 просмотров
Пригласить эксперта
Ответы на вопрос 5
aspcartman
@aspcartman
Software Engineer since 2010
Ответ выше исчерпывающий. Вам так-же необходимо прочесть UITableView programming guide и для облегчения участи такой-же гайд про StoryBoards. Все проще, чем покажется на первый взгляд :)
Ответ написан
imater
@imater Автор вопроса
Вот тут нашёл что искал: github.com/Inferis/ViewDeck
Буду разбираться. Если у кого есть ещё примеры, буду рад.
Ответ написан
Комментировать
@unholy
все примеры изумительно описаны в SDK. тут проблема не в системе или еще чем то, а в банальном не понимании как это должно работать, вне зависимости от языка и системы.

нужен один универсальный uiviewcontroller внутри с таблицей (не использую uitableviewcontroller по причине если вдруг надо добавить тулбар или еще как размеры таблицы в IB не поменять) который будет динамически создаваться/показываться/выгружаться через UINavigationController.

дел даже в программном коде без использования сторибордов — на 5 минут
Ответ написан
@unholy
добавить uitableview руками в uiviewcontroller и указать datasource и delegate

uitableviewcontroller это такой же uiviewcontroller, только штатно добавлен uitableview
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы