3

有谁知道为什么当您将 contextMenu 放在按钮视图中时,它只会以暗模式出现:

struct ContentView: View {
    var body: some View {
        Button(action: {
        
        }) {
            Text("Button with context menu")
                .contextMenu {
                    Text("Menu Item")
                }
        }
    }
}

在 iOS 和 iPadOS、模拟器和操作系统版本为 14.4.1、14.4.2 和 14.5.1 的设备上进行了尝试。我也几乎可以肯定,情况并非总是如此。

4

1 回答 1

1

可能是@jnpdx 所说的错误。但是,如果您将contextMenuButton 放在外面,它就可以正常工作。

struct ContentView: View {
    var body: some View {
        Button(action: {
            print("Button pressed")
        }) {
            Text("Button with context menu")
        }
        /// outside
        .contextMenu {
            Button(action: {
                print("Menu button pressed")
            }) {
                Text("Menu Item")
            }
        }
    }
}

结果:

灯光模式 黑暗模式
灯光模式 - 点击按钮,然后按住并点击菜单按钮 暗模式 - 点击按钮,然后按住并点击菜单按钮
于 2021-05-04T17:30:49.757 回答