SwiftUI - Как получить прозрачную строку состояния в представлении с вкладками? - PullRequest
0 голосов
/ 09 февраля 2020

Мое приложение сначала root Представление представляет собой представление с вкладками с двумя вкладками. Вторая вкладка представляет собой навигационное представление с формой. Параметр можно суммировать следующим образом:

struct ContentView: View {
  var body: some View {
    TabView {
      // First view
      // ...

      NavigationView {
        Form {
          // Form details
          // ...
        }
      }
      .tabItem {
        // Text and image for the tab view item
      }
    }
  }
}

Проблема в том, что фон представления формы не белый, он немного контрастный (как для сгруппированных списков), и это создает позорное разделение со строкой состояния на top:

enter image description here

Такое поведение отсутствует в других приложениях, таких как Apple. Например, основной вид приложения Pages представляет собой вид вкладки, а строка состояния остается прозрачной и того же цвета, что и заголовок верхней панели.

enter image description here

Мне бы хотелось, чтобы такое же поведение, как у приложения iPhone, с цветом заголовка, соответствующим представлению строки состояния.

Кажется, что проблема здесь заключается в представлении вкладок, которое контролирует внешний вид строки состояния, если Я удаляю все идет нормально.

Есть ли способ получить это поведение в представлении вкладок?

1 Ответ

1 голос
/ 09 февраля 2020

Вы можете обернуть TabView в ZStack и установить .edgesIgnoringSafeArea(.top) для своего стека

var body: some View {
        ZStack {
            TabView {
                Form {
                    Text("OK")
                }
            }.tabItem {
                Text("Show")
            }
        }.edgesIgnoringSafeArea(.top)
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...