我正在创建一个菜单,用户首先选择一个类别,然后选择一个子类别;我希望每个嵌套的菜单标签和菜单按钮标签都有自定义的外观。我尝试使用 .background(Color.blue) 修饰符,但正确渲染背景的唯一标签是最外面的菜单。
如何修改每个嵌套菜单标签和菜单按钮标签以具有自定义背景?
import SwiftUI
struct ContentView: View {
var body: some View {
DropDownMenu()
}
}
struct DropDownMenu: View {
private let categories: [Category]
@State private var selectedSubcategory = "Select a category"
let letters = ["a", "b", "c"]
init() {
self.categories = [Category(name: "letters", subcategories: letters)]
}
var body: some View {
/* Category */
Menu {
/* Subcategory */
Menu {
Button {
self.selectedSubcategory = categories[0].subcategories[0]
} label: {
Text("\(categories[0].subcategories[0])")
}
Button {
self.selectedSubcategory = categories[0].subcategories[1]
} …Run Code Online (Sandbox Code Playgroud) .onTapGesture {
// do something
}
Run Code Online (Sandbox Code Playgroud)
不起作用,因为可以在不启动编辑模式的情况下点击文本字段。