簡體   English   中英

TabView SwiftUI 中 TabItem 上的 LinearGradient

[英]LinearGradient on TabItem in TabView SwiftUI

是否可以將 LinearGradient 應用於 TabItem? AccentColor 只需要一種顏色,我還沒有找到另一種將任何顏色應用於 TabItem 的方法。 有任何想法嗎?例如,這是從藍色到綠色的漸變 (例如,這是從藍色到綠色的漸變)

沒有機會在 SwiftUI 中應用漸變色作為強調色。 因此,在您的情況下,您將必須使用漸變創建自己的標簽欄項目圖像並將它們保存為 png。 您必須匹配大小,因為您無法調整Image內的圖像大小。 有關尺寸,請參見此答案

您將需要一個帶有漸變的活動圖像和一個可能是灰色的非活動圖像,就像默認的 TabBar 行為一樣。 然后只需在 TabView 中加載您的圖像並根據選擇..

這是一個例子

struct ContentView: View {
    @State var selection = 0
    var body: some View {
        TabView(selection: $selection) {
            Text("First")
                .tabItem {
                    Image(selection == 0 ? "home_active" : "home_inactive") //<< here you load your different images 

                    Text("Home")
                        .colorMultiply(Color.yellow)
                }

            Text("Second")
                .tabItem {
                    Image(selection == 1 ? "setting_active" : "setting_inactive")
                    Text("Setting")
                }
        }
    }
}

在此處輸入圖像描述

是的,我們不能在 SwiftUI 中的 tabItem 上應用漸變。 它只顯示不超過一個 Image 和一個 Text 視圖,盡管我們在 .tabItem{} 中放置了更多視圖。

這樣您就必須制作自定義標簽欄。

暫無
暫無

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

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