SwiftUI — отключить представление взаимодействия с просмотром с помощью специального оповещенияIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Гость
 SwiftUI — отключить представление взаимодействия с просмотром с помощью специального оповещения

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


У меня есть специальное оповещение, которое я показываю как в листе, так и в обычном представлении. У меня также есть сетка позади предупреждения, охватывающая весь лист (непонятно, почему она не отображается в этом примере кода), и на листе также есть видимый индикатор перетаскивания (который опять же не отображается в примере кода).

В любом случае, мои вопросы:
[*]Как отключить кнопку навигации «Назад» при отображении специального оповещения? [*]Scrim закрывает лист, но слегка видимый вид сверху за листом не закрыт. Есть ли способ покрыть всю высоту экрана сеткой? [*]Есть ли способ отключить индикатор перетаскивания листа при наличии специального оповещения?
Я использую версию iOS 16.4

Код:

импортировать SwiftUI импортный фонд структура ContentView: Просмотр { @State Private var showDetails = false var body: some View { Навигационный стек { ВСтек { Button("Показать лист А") { шоуДетали = правда } } .sheet(isPresented: $showDetails) { Контентвиев1() } } } } структура ContentView1: Просмотр { @State Private var showDetails = false var body: some View { Навигационный стек { ВСтек { Button("Показать лист Б") { шоуДетали = правда } } .navigationDestination(isPresented: $showDetails) { Контентвиев2() } .presentationDragIndicator(.visible) } } } структура ContentView2: Просмотр { @State Private var showAlert = false var body: some View { ВСтек { Кнопка("Показать оповещение") { шоуАлерт = правда } } .navigationTitle("Настройки") .customAlert(isPresented: $showAlert) .presentationDragIndicator(.visible) } } структура CustomAlertView: ViewModifier { @Binding var isPresented: Bool init(isPresented: Binding) { self._isPresented = isPresented } тело функции (содержание: Содержание) -> некоторый вид { content.animation(nil, значение: self.$isPresented.wrappedValue) .overlay(self.$isPresented.wrappedValue ? Color.gray.opacity(0.4) : nil) /// Фоновый холст, который не знает, почему он не виден. .overlay(self.$isPresented.wrappedValue? alertContent(): ноль) .animation(.default, значение: self.$isPresented.wrappedValue) } @ViewBuilder частная функция alertContent() -> some View { GeometryReader { геометрия в если self.$isPresented.wrappedValue { ВСтек { Text("title").foregroundColor(Color.black).font(.title2).bold().lineLimit(ноль) .padding([.leading, .trailing], 20.0).padding(.top, 16.0) Разделитель() Text("сообщение").foregroundColor(Color.вторичный).font(.body).bold().lineLimit(ноль) .padding([.leading, .trailing], 20.0).padding(.top, 16.0) Разделитель() Надпись на кнопке { }: { Текст («Нажми на меня») } .frame(ширина: 250,0, высота: 20,0).padding(10,0).background(Color.blue) .foregroundColor(.white).font(.body) }.fixedSize(по горизонтали: ложь, по вертикали: правда).background(Color.gray).cornerRadius(28) .clipped().padding([.leading, .trailing], 5.0) .position(x: Geometry.size.width/2, y: Geometry.size.height/2).frame(ширина: 328,0) } } } } расширение Просмотр { func customAlert(isPresented: Binding) -> some View { модификатор возврата (CustomAlertView (isPresented: isPresented)) } }
Изображение


Я попробовал установить .presentationBackgroundInteraction(.disabled) для содержимого в модификаторе пользовательского оповещения, но это тоже не сработало.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Представление оповещения в SwiftUI с использованием MVVM
    Anonymous » » в форуме IOS
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Представление пользовательского оповещения поверх всех видов, включая листы или полную обложку
    Anonymous » » в форуме IOS
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Согласованное текст с пользовательским просмотром Swiftui
    Anonymous » » в форуме IOS
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Кнопка «Готово» на панели инструментов исчезает после представления и закрытия оповещения в SwiftUI
    Гость » » в форуме IOS
    0 Ответы
    45 Просмотры
    Последнее сообщение Гость
  • Textfield внутри оповещения не работает на iPhone, но хорошо на iPad (Swiftui)
    Anonymous » » в форуме IOS
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

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