Вам необходимо вызвать presentation
API поверх представления, которое должно отображать предупреждение.
Лучший способ сделать это - иметь переменную @State
, которая сообщает SwiftUI, должно ли предупреждениебудет отображаться или нет.
Затем действие Button
установит его на true
, что сделает недействительным body
и вызовет перестройку представления.
struct ContentView : View {
@State var showAlert = false
var body: some View {
NavigationView {
List(0...10) { value in
Text(verbatim: "\(value)")
}
.navigationBarItems(leading: EmptyView(), trailing: Button(action: {
self.showAlert = true
}) {
Text(verbatim: "Show alert")
})
.navigationBarTitle(Text(verbatim: "A List"))
}
.presentation($showAlert) {
return Alert(title: Text(verbatim: "An Alert"))
}
}
}
В этом примерекнопка устанавливает @State
в значение true, и presentation
вызывается в представлении навигации.
Результат: