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