Разработка иерархического приложения с функцией редактирования / добавления - PullRequest
0 голосов
/ 09 января 2012

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

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

Но, кажется, не существует простого способа обеспечить это, а также функциональность добавления / редактирования / удаления.Возьмите экран рецептов верхнего уровня.У меня есть одно «пятно» для размещения кнопки (правая сторона элемента навигации в верхней части экрана - левая сторона будет для кнопки «назад»).Если я сделаю это кнопкой «Добавить», то как пользователь может переименовать существующий рецепт?Если это кнопка «Изменить», то я могу отобразить значки удаления и, возможно, сделать выбор рецепта, отобразить экран для изменения названия (вместо детализации до ингредиентов), но теперь у меня нет возможности добавить новый рецепт..

Я подумал об использовании нижней панели инструментов, но

a) при этом используется много недвижимости для простой кнопки

b) если панель инструментов добавлена ​​в представлениев контроллере навигации он добавляется ко всем представлениям в иерархии навигации.Это означает, что действия на этой панели инструментов не меняются (например, приложение электронной почты Apple, где на панели инструментов всегда есть кнопка «Создать», независимо от того, где вы находитесь в иерархии навигации).Похоже, что он находится на «более высоком уровне» и не привязан к текущему виду.

Есть ли здесь стандартный шаблон для наблюдения?И есть ли примеры хорошо разработанных приложений, которые включают иерархическое отображение данных с возможностью добавлять / редактировать / удалять на всех уровнях?

Ответы [ 2 ]

0 голосов
/ 09 января 2012

Проверьте пример кода Apple, приложение Core Recipes.Это именно то, что вы описываете. Он использует CoreData и является отличным способом узнать об этом.

http://developer.apple.com/library/ios/#samplecode/iPhoneCoreDataRecipes/Introduction/Intro.html

Изменена ссылка на версию iPhone

0 голосов
/ 09 января 2012

Вы можете скопировать дизайн приложения Контакты.

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

Аналогично, вы можете получить столько уровней, сколько вам нужно.

Пример иерархии:

  1. Представление рецептов с кнопкой добавления в правом элементе панели инструментов и ячейками элементов рецепта.Нажмите на ячейку рецепта толкает подробный вид 2.
  2. Подробный вид рецептов с кнопкой редактирования для режима редактирования.В режиме редактирования у вас есть кнопка «Удалить рецепт» и кнопка «Ингридиенты», которая перемещает представление 3.
  3. Ингредиенты с кнопкой «Добавить» и ячейками ингредиентов.Нажмите на представление толчка ячейки 4.
  4. Подробный вид ингредиента с кнопкой редактирования.И так далее.

Это было бы моей общей идеей, но вы измените ее для своей конкретной ситуации.Надеюсь, что редакция немного прояснит ситуацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...