Я пытаюсь размыть содержимое, которое появляется за панелью вкладок внизу, чтобы оно имело эффект полупрозрачности/стекломорфизма.
Вот чего я пытаюсь достичь (из Figma):

Подобно тому, как панель вкладок в Твиттере прозрачна, но все, что находится за панелью вкладок, становится размытым.
Это код моей пользовательской панели вкладок:
импортировать SwiftUI структура CustomTabBar: Просмотр { @Binding var currentTab: Tab var body: some View { GeometryReader{прокси в HStack(интервал: 0){ ForEach(Tab.allCases,id: \.rawValue){вкладка в Кнопка{ withAnimation(.easeInOut(длительность: 0,2)){ currentTab = вкладка } } этикетка: { Изображение (tab.rawValue) .renderingMode(.шаблон) .изменяемый размер() .aspectRatio(contentMode: .fit) .frame(ширина: 30, высота: 30) .frame(maxWidth: .infinity) .foregroundColor(currentTab == вкладка ? Color.white: Color.white.opacity(0.75)) } } } .frame(maxWidth: .infinity) } .frame(высота: 30) .padding(.дно, 10) .padding([.горизонтальный, .top]) .фон{ Цвет.белый.непрозрачность(0,50) .ignoresSafeArea() } //КОНЕЦ ТЕЛА VAR } //КОНЕЦ СТРУКТУРЫ } структура CustomTabBar_Previews: PreviewProvider { статические предварительные просмотры var: some View { MainTabView() } } Это мой код для представления основной вкладки, которое представляет собой ZStack с моими различными представлениями и настраиваемой панелью вкладок внизу:
импортировать SwiftUI структура MainTabView: Просмотр { //СКРЫВАЕМ СОБСТВЕННУЮ ПАНЕЛЬ ВКЛАДОК в этом(){ UITabBar.appearance().isHidden = true } @State var currentTab: Tab = .dashboard var body: some View { ZStack(выравнивание: Alignment(по горизонтали: .center, по вертикали: .bottom)) { TabView(выбор: $currentTab){ КонтентПросмотр() .tag(Tab.dashboard) Текст("Аналитика") .applyBG() .tag(Tab.analytics) Текст("Настройки") .applyBG() .tag(Tab.settings) } //ПАНЕЛЬ ПОЛЬЗОВАТЕЛЬСКИХ ВКЛАДОК CustomTabBar(currentTab: $currentTab) } //КОНЕЦ ТЕЛА VAR } //КОНЕЦ СТРУКТУРЫ } структура MainTabView_Previews: PreviewProvider { статические предварительные просмотры var: some View { MainTabView() } } //ЦВЕТ ФОНА КАЖДОЙ ВКЛАДКИ – МОЖНО УДАЛИТЬ ПОСЛЕ СОЗДАНИЯ ВИДОВ расширение Просмотр { func applyBG()->некоторый вид{ себя .frame(maxWidth: .infinity, maxHeight: .infinity) .фон{ Цвет("ФН") .ignoresSafeArea() } } } Я попробовал использовать решение из этого дополнительного вопроса
Но когда я это делаю, размывается весь вид за панелью вкладок, а не только содержимое за панелью вкладок:

Цвета здесь другие, но принцип тот же.
Есть идеи, как мне добиться такого размытого вида ТОЛЬКО за панелью вкладок?
Мобильная версия