无法在 SwiftUI 的菜单中设置按钮标签的颜色 [英] Cannot set color of Button's Label inside Menu in SwiftUI
本文介绍了无法在 SwiftUI 的菜单中设置按钮标签的颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我在 SwiftUI (iOS) 中创建一个
If I create a Menu in SwiftUI (iOS), I cannot set the color of the Buttons inside, e.g.:
Menu("Actions") {
Button(action: { }) {
Label("Whatever", systemImage: "pencil")
.background(Color.red) // does not work
}
.background(Color.red) // does not work either
.buttonStyle(RedButtonStyle()) // does not work either
}
struct RedButtonStyle: ButtonStyle {
func makeBody(configuration: Configuration) -> some View {
configuration.label.foregroundColor(Color.red)
}
}
If instead of Label
, I use Text
, or Image
(I am aware of this), it doesn't work either.
Is there any way to do it?
P.S.: there is another related SO question, but it is very generic and wider in scope.
解决方案
This is now possible in iOS 15 by setting a Button
's role. Documentation
Example:
Menu("Actions") {
Button(role: .destructive, action: { }) {
Label("Whatever", systemImage: "pencil")
}
}
Result:
这篇关于无法在 SwiftUI 的菜单中设置按钮标签的颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文