#ios #objective-c #ipad #uisplitviewcontroller
#iOS #objective-c #iPad #uisplitviewcontroller
Вопрос:
Дизайн моего приложения очень прост, по крайней мере, в отношении описания предполагаемых пользовательских представлений:
Начальное представление изначально пустое. Нажатие кнопки «Выбрать» на панели навигации переходит к разделенному виду. Слева (мастер) находятся фотоальбомы на устройстве. Справа (подробно) показаны изображения в данном альбоме. Пользователь может выбрать до 6 изображений во всех альбомах. Нажатие кнопки «Готово» на панели навигации переходит обратно в начальный вид, который теперь отображает выбранные изображения в виде сетки. И это все.
На мой взгляд, это должно быть так же просто, как встраивание начального представления в навигационный контроллер и добавление перехода от кнопки «Выбрать» к разделенному представлению. Но, конечно, это так не работает. Согласно документам Apple:
Хотя можно установить контроллер разделенного представления в качестве дочернего элемента в некоторых других контроллерах контейнерного представления, в большинстве случаев это делать не рекомендуется. Контроллеры разделенного представления обычно устанавливаются в корне окна вашего приложения.
Если это вообще возможно, я хотел бы сохранить свой пользовательский дизайн без каких-либо теневых дел. Я сильно подозреваю, что существует один или несколько «санкционированных» способов выполнить то, что я хочу, но я слишком неопытен в разработке iOS, чтобы знать, какими они могут быть. Любая помощь приветствуется!
Ответ №1:
Если все, что вы хотите, это передать обратно начальному контроллеру представления массив изображений, то почему бы просто не объявить протокол в разделенном ViewController, который может принять начальный контроллер?
Комментарии:
1. Я вас не понимаю, но я думаю, что вы меня тоже не понимаете. 🙂
2. Не хотел публиковать предыдущий комментарий как есть. В любом случае, я думаю, что я просто откажусь от разделенного представления в пользу последовательности двух представлений списка и продолжу двигаться вперед.