Возникла проблема, с которой я раньше не сталкивался, в нашем проекте в некоторых местах необходимо скрывать панель вкладок, пока шла разработка проблем не возникло, так как мы тестировали на iOS 16 и 17. Чтобы скрыть панель вкладок, мы использовали стандартный модификатор .toolbar (.hidden, формат: .tabbar). На iOS 16 и 17 проблем нет, все работает корректно, а в случае с iOS 18 просто не скрывается, корректно скрывается только если установить модификатор в корневой вид, например:
Для iOS 16 и 17:
Код: Выделить всё
struct SomeView: View {
VStack {
Text("123")
.toolbar(.hidden, for: .tabbar)
}
}
Это сработало, но не работает в iOS 18. Я пытался использовать новый метод API в том же месте (.toolBarVisibility(.hidden, for: .tabbar)) - но он не работает.
Затем я пытаюсь использовать этот модификатор в корневом представлении на панели вкладок:
Код: Выделить всё
struct TabBar: View {
var supportView: some View {
NavigationStack(path: $coordinator.path) {
SupportView()
// for example here - .toolbarVisibility(.hidden, for: .tabBar) - it
// work, but i need setup this in another screen of this flow 3 or 4 screen in
// hierarchy
.navigationDestination(...) { screen in
coordinator.buildProfileScreen(screen)
.navigationBarBackButtonHidden()
}
}
}
}
это будет работать для просмотра поддержки, но мне нужно скрыть панель вкладок, чтобы она работала на третьем экране в поддержке потока
Подробнее здесь:
https://stackoverflow.com/questions/793 ... -on-ios-18