Ответ 1
Вот способ представить вид как модальный.
struct PresentOnloadView: View {
var body: some View {
HStack {
Text("Hey there")
}
.presentation(Modal(HelloView(), onDismiss: nil))
}
}
struct HelloView: View {
var body: some View {
Text("Whats up! 👻")
}
}
Аналогичным образом, если вы хотите контролировать, следует ли представлять или не использовать переменную, вы можете сделать что-то подобное..
struct PresentOnloadControlledView : View {
@State var sayHello = false
var body: some View {
HStack {
Text("What up!")
}
.onAppear(perform: {
// Decide whether to show another view or not here
self.sayHello = true
})
.presentation(sayHello ? Modal(HelloView()) : nil)
}
}
As of Version 11.0 beta 4 ➝ .presentation и Modal has been deprecated.
Not to worry! .sheet saves the day!
struct PresentOnloadControlledView : View {
@State var sayHello = false
var body: some View {
HStack {
Text("What up!")
}
.onAppear(perform: {
// Decide whether to show another view or not here
self.sayHello = true
})
.sheet(isPresented: $sayHello) {
HelloView()
}
}
}