Невозможно установить цвет метки кнопки внутри меню в 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")
    }
}

Результат:

Другие вопросы по тегам