我无法在SwiftUI中更改标签栏颜色。我尝试了TabbedView、Image/Text和Stack,但没有效果。
使用.foregroundColor
不起作用。
TabbedView(selection: $selection){
TextView()
.tag(0)
.tabItemLabel(
VStack {
Image("Calendar")
.foregroundColor(.red)
Text("Appointments")
.foregroundColor(.red)
}
).foregroundColor(.red)
}.foregroundColor(.red)
8条答案
按热度按时间bihw5rsg1#
溶液1
使用
renderingMode(.template)
溶液2
创建tabItem类型
x一个一个一个一个x一个一个二个x
mrwjdhj32#
使用
accentColor
:swvgeqrz3#
你可以使用UITabBar.appearance()进行一些定制,直到Apple提供更新SwiftUITabView的更标准的方法为止
更改选项卡项(文本+图标)颜色
更改选项卡视图背景色
整个代码如下所示-
使用**.accentColor修饰符更改选定**选项卡项的颜色
在尝试了很多选择之后,这对我来说很有效。
wvyml7n54#
我认为您可以直接使用TabView的accentColor,它对我很有效:]
evrscar25#
我为Image做了一个扩展,它使用带有浅色的UIImage初始化:
nom7f22z6#
目前
SwiftUI
没有直接的方法。我们必须使用
UIKit
方法,除非SwiftUI
引入了任何新的解决方案。请尝试以下代码:
f8rj6qna7#
如果您需要为SwiftUI界面的整个应用程序设置强调色,您只需在Assets.xcassets文件中定义AccentColor,如下图所示。TabBar图标无需任何额外代码即可获得该颜色。
ej83mcc08#
在iOS16上.accentColor(颜色)已弃用。您可以在TabView上使用.tint(颜色)。