如何在SwiftUI中更改tabItems中图像(图标)的颜色?
我试了很多方法都没用...
谢谢
下面是我的测试代码:
import SwiftUI
struct TestTabviewIconColor: View {
var body: some View {
TabView {
Text("The First Tab")
.tabItem {
Image(systemName: "1.square.fill")
.foregroundColor(.red)
.accentColor(.red)
.colorMultiply(.red)
Text("First")
}
Text("Another Tab")
.tabItem {
Image(systemName: "2.square.fill")
Text("Second")
}
Text("The Last Tab")
.tabItem {
Image(systemName: "3.square.fill")
Text("Third")
}
}
.font(.headline)
}
}
struct TestTabviewIconColor_Previews: PreviewProvider {
static var previews: some View {
TestTabviewIconColor()
}
}
3条答案
按热度按时间h7appiyu1#
如果你想有不同的TabBar按钮颜色时,标签被选中,比我有理由相信,苹果提供的控制不会为你这样做。
你需要滚动你自己的控件。这是相当简单的。一个有三个选项卡的例子,见下面的代码。如果你使用固定数量的选项卡,这种方法可能对你有用。这些原则可以应用于使用@ViewBuilder等为更多和可变数量的选项卡构建控件。
我已经大致描述了股票选项卡栏的样式,如果这对您的用例很重要,您需要做一些改进以使其看起来完全相同。
isr3a4wc2#
要更改
tabbar
的色调颜色,您只需设置.accentColor()
修饰符,以便TabView应用于项目。ryevplcw3#
尝试更改图像的渲染模式:在Assets.xcassets中选择图像,打开检查器视图并切换到属性检查器然后选择渲染为:模板图像
这对我很有效。