繁体   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