SwiftUI: Настройка видимости видимости на основе значения свойства? - PullRequest
0 голосов
/ 07 октября 2019

При определении иерархии представлений с помощью SwiftUI возможно ли установить значение hidden() для представления в теле определения?

Например:

var body: some View {
     VStack(alignment: .leading) {
          Text(self.name)
          .font(.headline)
          .hidden()
     }
}

будетскрыть объект Text, но я бы хотел использовать логическое свойство для переключения видимости.

Есть способ сделать это с помощью тернарного оператора и значения непрозрачности представления, но я надеялся на меньшееумное решение.

Спасибо!

1 Ответ

2 голосов
/ 07 октября 2019

Если вы не хотите использовать модификатор opacity следующим образом:

struct ContentView: View {
    @State private var showText = true

    var body: some View {
         VStack(alignment: .leading) {
              Text("Hello world")
                .font(.headline)
                .opacity(showText ? 1 : 0)
         }
    }
}

, вы можете условно полностью удалить представление:

struct ContentView: View {
    @State private var showText = true

    var body: some View {
         VStack(alignment: .leading) {
            if showText {
                Text("Hello world")
                    .font(.headline)
            }
         }
    }
}

Учтите, что обаспособы широко используются в SwiftUI. Для вашего конкретного случая я бы честно использовал модификатор opacity, но даже удаление вполне подойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...