簡體   English   中英

交換 SwiftUI 中選項卡視圖指示器的配色方案 3

[英]Swaping the color scheme of tab view indicators in SwiftUI 3

我有一個由此代碼定義的選項卡視圖:

TabView {
    ViewOne()
    ViewTwo()
}
.tabViewStyle(PageTabViewStyle())
.indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))

這將創建一個像這樣的 tabview 指示器。 然而,我喜歡使用更深的顏色或交換這個組件的方案。 在此處輸入圖像描述

我相信indexViewStyle目前不可自定義,因為IndexViewStyle協議不是公開的。

但是,您可以嘗試使用TabView(selection:) init 和 overlay,或者以某種方式隱藏原始 indexView 並創建自己的。

不知道你所說的配色方案是什么意思。 如果您想更改指示器的顏色或刪除顏色的背景,您可以這樣做:

struct PageView: View {
    
    init() {
        UIPageControl.appearance().currentPageIndicatorTintColor = .cyan
        UIPageControl.appearance().pageIndicatorTintColor = UIColor.red.withAlphaComponent(1)
        UIPageControl.appearance().backgroundStyle = .minimal
    }
    
    var body: some View {

        TabView {
            Text("First")
            Text("Second")
            Text("Third")
        }
        .tabViewStyle(.page)
        
    }
}

UIPageControl.appearance().currentPageIndicatorTintColor改變當前頁面圓點的顏色。 UIPageControl.appearance().pageIndicatorTintColor改變圓點的rest。 另外,在Swift 14之后,UIPageControl引入了新的樣式。 prominent的樣式是您現在擁有的圓形視圖和稱為minimal樣式的舊樣式,我在上面的代碼中更改了UIPageControl.appearance().backgroundStyle

我的代碼的output是

在此處輸入圖像描述

如果您想相應地將顏色更改為深色或淺色模式,您可以在您的資源中添加一個color set並使用它。

暫無
暫無

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

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