簡體   English   中英

swiftUI tabView如何設置默認視圖onAppear?

[英]swiftUI tabView how to set default view onAppear?

我有一個帶有多個視圖的 tabView,我想知道如何在加載時取消定義默認視圖。 默認情況下,Xcode 分配第一個視圖,但我希望在啟動應用程序時加載第二個視圖。

var body: some Scene {
    WindowGroup {
        TabView {
            alertView()
            todayView()
            forecastView()
        }
        .tabViewStyle(PageTabViewStyle(indexDisplayMode: .always))
        .onAppear
        {
            UIPageControl.appearance().currentPageIndicatorTintColor = .black
            UIPageControl.appearance().pageIndicatorTintColor = UIColor.black.withAlphaComponent(0.2)
        }
    }
}

讓我們在顯式場景根視圖中移動所有內容

var body: some Scene {
    WindowGroup {
      ContentView()
    }
}

現在我們可以為此使用selection ,例如

struct ContentView: View {
  @State private var selection = 2   // << here !!

  var body: some View {
        TabView(selection: $selection) {   // << here !!
            alertView().tag(1)        
            todayView().tag(2)             // << here !!
            forecastView().tag(3)
        }
        .tabViewStyle(PageTabViewStyle(indexDisplayMode: .always))
        .onAppear
        {
            UIPageControl.appearance().currentPageIndicatorTintColor = .black
            UIPageControl.appearance().pageIndicatorTintColor = UIColor.black.withAlphaComponent(0.2)
        }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM