На недавней конференции WWDC 2022 Apple представила новинки фреймворка SwiftUI, уделив значительное внимание навигации.
Работа с навигацией действительно стала лучше. Я попробовал новый компонент – NavigationSplitView – и обнаружил, что он достаточно капризен на трехколоночной вёрстке и при адаптации к разной ширине имеет некоторые проблемы.
Официальный пример из сессии с рецептами навигации работает некорректно при сжатии до .compact размера — перестает работать навигация из левой панели (сайдбара).
Я подобрал более-менее нормальный подход к работе с трехколоночным Split View, при котором не требуется добавлять костыли и проверки на ширину.
Работа с навигацией действительно стала лучше. Я попробовал новый компонент – NavigationSplitView – и обнаружил, что он достаточно капризен на трехколоночной вёрстке и при адаптации к разной ширине имеет некоторые проблемы. Минимальный рабочий прототип:
https://gist.github.com/SoundBlaster/a8190c0a86533da9d8f9d1b08a9df3e2
Можно слегка улучшить внешний вид экрана, если добавить базовую категорию выбранной по умолчанию:
Но в таком случае без багов не обходится: Split View не всегда корректно понимает, какую часть показывать.
Остаётся пока надеяться, что Apple исправит детские болезни к официальному релизу iOS 16.