是否可以将 LinearGradient 应用于 TabItem? AccentColor 只需要一种颜色,我还没有找到另一种方法来将任何颜色应用于 TabItem。 有任何想法吗? (例如,从蓝色到绿色的渐变)
最佳答案
没有机会在 SwiftUI 中为 accentColor 应用渐变。因此,在您的情况下,您将必须创建自己的带有渐变的选项卡栏项目图像并将它们保存为 png。您必须匹配尺寸,因为您无法在 tabItem 中调整 Image
的大小。参见 this回答尺寸
您将需要一个带有渐变的事件图像和一个非事件图像,该图像可能像默认的 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")
}
}
}
}
关于ios - TabView SwiftUI 中 TabItem 上的 LinearGradient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65324720/