После обновления с Xcode 8 до Xcode 9 я заметил это очень странное поведение на панели навигации только на устройствах под управлением iOS 11.
Эта ошибка появляется после перехода из моего левого бокового меню, которое показывает контроллер меню, который вы выбираете модально, с презентацией по умолчанию (это полноэкранный режим)
Я разместил видео здесь: https://youtu.be/mgjlbkMi-N8
Кажется, это ошибка компиляции на Xcode 9.
Пробовали также на реальном устройстве iPad Pro с iOS 11. Тот же код, скомпилированный с помощью Xcode 8.3.3, работает должным образом, а скомпилированный с помощью Xcode 9 выявляет проблему.
Я разместил здесь код игровой площадки: https://github.com/shadowsheep1/xcode9navigationissue.
Уже есть обходной путь: установите презентацию в полноэкранном режиме.
Но это не имеет значения, это не ожидаемая операция.
После того, как панель навигации сломана, она ломается для каждого навигационного контроллера в приложении.
Есть идеи?
ИЗМЕНИТЬ:
Связь с разработчиками Apple, 23 января 2018 г., 23:13
Планов по решению этой проблемы нет по следующим причинам:
Вы создаете отдельную презентацию, что приводит к размещению нескольких панелей навигации в иерархии представлений. Видимая панель навигации не та, где происходят нажатия, поэтому отображается ошибка. Не знаю, почему этого не произошло на iOS 10, но там тоже была неверная конфигурация.
Мы бы порекомендовали вам использовать правильный контейнер контроллера представления для реализации этого меню, а не то, что кажется сделанным (IS_SlideMenu_View размещается непосредственно в окне).