ToolBarItem на панели навигации не меняет цвет - iOS 17 SwiftUI
В моем коде ниже я пытаюсь сделать так, чтобы оба представления с системным изображением «line.3.horizontal.circle.fill» были зелеными. Но представление как элемент панели инструментов отображается синим цветом по умолчанию. В настоящее время я могу использовать новый Xcode и работать на iOS 17.
struct SwiftUITestView: View {
var body: some View {
NavigationStack{
HStack{
Text("test")
Menu{
Button{
print("test")
}label:{
Text("test")
}
} label:{
Label("Filter", systemImage: "line.3.horizontal.circle.fill")
.foregroundStyle(.green)
.frame(width: 20, height: 20)
}
.menuActionDismissBehavior(.disabled)
}
.toolbar(content: {
ToolbarItem(placement: .topBarTrailing) {
Menu{
Button{
print("test")
}label:{
Text("test")
}
} label:{
Label("Filter", systemImage: "line.3.horizontal.circle.fill")
.foregroundStyle(.green)
.frame(width: 20, height: 20)
}
.menuActionDismissBehavior(.disabled)
}
})
}
}
}
Я хочу, чтобы обе метки были зелеными.
1 ответ
Не используйте .accentColor, как могли предложить другие, поскольку он устарел. Вы можете использовать .tint вне определения меню следующим образом:
ToolbarItem(placement: .topBarTrailing) {
Menu{
Button{
print("test")
}label:{
Text("test")
}
} label:{
Label("Filter", systemImage: "line.3.horizontal.circle.fill")
.foregroundStyle(.green)
.frame(width: 20, height: 20)
}
.tint(.green)
.menuActionDismissBehavior(.disabled)
}
Протестировано и работает над симулятором iOS 17 в Xcode 15 Beta 2.0 (15A5161b).