[英]Keyboard appearance causes preceding tab to fire onAppear in TabView using SwiftUI
[英]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.