Как вы отображаете представление (в ContentView) в зависимости от переменной другого представления в SwiftUI? - PullRequest
2 голосов
/ 08 мая 2020

В основном, в моем ContentView я пытаюсь создать CreateItemButton (), когда Binding variableName (а не variableName в ContentView, а variableName из класса MapView) истинно. Итак ... псевдокод для ContentView выглядит примерно так:

struct ContentView: View {
    @State private var variableName: Bool = false
    var body: some View {
        VStack {
            ZStack {
                MapView(variableName: $variableName)
                //Display the CreateEventButton() view here if $variableName is true.
            }
        }
    }
}

Я надеялся, что есть какая-то функция, которую я могу вызвать в представлении MapView (), чтобы при необходимости отобразить представление CreateEventButton (), но ближе всего к тому, что я нашел, была функция .sheet (isPresent: $ variableName) .... и мне нужно, чтобы представление отображалось непосредственно поверх карты, а не открывать новый лист с представлением на нем. Дайте мне знать, если я могу добавить что-нибудь, чтобы было понятнее!

1 Ответ

1 голос
/ 08 мая 2020

Вот это

ZStack {
    MapView(variableName: $variableName)
    if variableName {
         CreateEventButton()
    }
}
...