Невозможно установить цвет метки кнопки внутри меню в SwiftUI
Если я создаю меню в SwiftUI (iOS), я не могу установить цвет кнопок внутри, например:
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)
}
}
Если вместо
Label
, Я использую
Text
, или же
Image
(Я знаю это ), она не работает.
Есть ли способ это сделать?
PS: есть еще один связанный с этим вопрос SO , но он очень общий и более широкий по своему охвату.
1 ответ
Теперь это возможно в iOS 15, установив
Button
роль. Документация
Пример:
Menu("Actions") {
Button(role: .destructive, action: { }) {
Label("Whatever", systemImage: "pencil")
}
}
Результат: