Я ударяю головой о стену с проблемой navBar. См. Это sample project для лучшего представления о том, чего я пытаюсь достичь. В принципе, моя структура приложения выглядит так:Представление контроллера представления с overCurrentContext, а затем нажатие на результаты навигационного стека в нижней части панели навигации
NavController -root-> ViewControllerA -> button -> push -> ViewControllerB --> ViewControllerC
| |
button -> presentModally |
| |
V |
PopoverViewController |
| |
button -> push to the nav controller |
| |
| |
---------------------------------------
кнопку на контроллере второго вида (назовем его B) стека нав представит модальный контроллер представления с четким фоном (его модальный стиль презентации является overCurrentContext
к выглядит как пирог):
Затем кнопка на пирог будет толкать новый контроллер представления в стек нав (назовем его C):
[
поповер представлен B в отличие от фактического контроллера нав (В определяет контекст презентации). Это так, что когда popover нажимает C на стек, C не просто покрывает B, но также покрывает popover.
Проблема возникает при отклонении C. Навигационный стек возвращается к B с поп-апом наверху (что является моим намерением). Однако B теперь заполняет весь кадр контроллера навигационного представления (до того, как C был нажат, верх B был прикреплен к navBar). Это приводит к тому вид вблизи верхней части B, чтобы быть обрезано NavBar:
Взгляд на UI инспектор подтверждает, что это потому, что вид B теперь заполняет вид контроллера Nav в:
Это было не так, прежде чем C был представлен. Любые идеи относительно того, что вызывает это?
Я пробовал это. Сделал «show» segue от B до C и использовал метод делегата от функции tap pop-tap до B, чтобы вызвать segue. Он по-прежнему ведет себя одинаково. Я также попытался установить B 'definePresentationContext' на' false'. Это решает, что C получает обрезание, но также приводит к тому, что popover будет отображаться навигационным контроллером, поверх всех дальнейших VC, нажатых в стек. Я попробовал переделывать разные «modalPresentationStyles» для popover, но «overCurrentContext», похоже, единственный, который удовлетворяет моим требованиям. – Hash88