Показывать черный слой, как лист или AlertView, поверх всего содержимогоIOS

Программируем под IOS
Ответить
Гость
 Показывать черный слой, как лист или AlertView, поверх всего содержимого

Сообщение Гость »


У меня есть Hstack, содержащий SideBar() и Group, которая отображает содержимое на основе выбора SideBar.
р>
struct Main: View { @State Private var currentScreen: AppScreen? = .analisys var body: some View { HStack(интервал: 0) { Боковая панель() Группа { если пусть currentScreen { currentScreen.content } } } @ViewBuilder частная функция SideBar() -> некоторый вид { // Меню боковой панели } } Контент управляется с помощью перечисления AppScreen

импортировать SwiftUI enum AppScreen: CaseIterable, Identifying { анализ дел, тенденции идентификатор переменной: AppScreen {self} @ViewBuilder содержимое var: некоторые View { переключить себя { case .analisys: ContentUnavailableView(name + «Недоступно», systemImage: значок) случай .trends: TrendsView() } } } Внутри содержимого под названием TrendView есть кнопка, которая должна отображать черный слой, который я использую в качестве фона представления настраиваемого представления, как это делает, например, alertView. . (черный слой и элемент alertView над ним).

Теперь моя проблема в том, что если я вызову пользовательское представление внутри TrendView() с помощью .overlay { , SideBar не будет скрыт по черному слою. Как я могу воссоздать эффект черного слоя и перекрывающегося представления, как это делает alertView в моем случае?
struct TrendView: Просмотр { @State Private var showBlackLayer: Bool = false var body: some View { ZStack { Button("Показать слой и вид") { showBlackLayer.toggle() } .оверлей { Черный цвет .opacity(showBlackLayer? 0,5: 0) .edgesIgnoringSafeArea(.all) .onTapGesture { showBlackLayer = false // Chiudi la vista Nera } } } .buttonStyle(.без границ) } }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»