Что я хочу
Полностью настраиваемая панель навигации, которая сохранится и позволит пользователю взаимодействовать с пользователем через настраиваемые модальные переходы.
Что я сделал
Я создал родительский контроллер представления, который содержит представление контейнера внизу и представление (настраиваемая панель навигации) вверху. В представление контейнера встроен контроллер представления, который может модально представлять другие контроллеры представления.
Контроллеры представления, которые представлены модально, используют настраиваемый переход (UIViewControllerTransitioningDelegate), чтобы всплывать снизу и занимать только часть контроллера представления внизу (т.е. оставляя меню видимым).
Когда первый контроллер представления представлен модально, с настраиваемым меню навигации все еще можно взаимодействовать. Однако, если первый модально представленный контроллер представления, в свою очередь, представляет другой контроллер представления, то настраиваемая панель навигации не реагирует на взаимодействие с пользователем.
| NAV BAR |
|-----------| |------------| |------------|
| Container | | View | | View |
| view |-> EMBED -> | Controller |-> Presents -> | Controller |-> Presents ->
| | | | Modally | 1st | Modally
(продолжение)
|------------|
| View |
->| Controller |
| 2nd |
Когда первый контроллер представления представлен модально, панель навигации по-прежнему реагирует на прикосновения. Когда отображается вторая (и все остальные в этой строке (например, 3-я, 4-я ...)), панель навигации все еще видна, но не реагирует на прикосновения пользователя.
На Github есть пример проекта, который иллюстрирует мою проблему.
В чем моя проблема
Я хотел бы иметь возможность нажимать на панель навигации независимо от того, сколько контроллеров представления я представил модально.
Должен ли я подходить к этой работе?
Как лучше всего достичь того, что я хочу делать? Есть ли стандартный способ создания полностью настраиваемых панелей навигации (например, нескольких кнопок, настраиваемой высоты и т. Д.)?