工具栏中的按钮最初呈灰色

new*_*ser 6 macos swift swiftui

我有一个 SwiftUI macOS 应用程序,我注意到当您在 a 中有一个按钮时toolbar,其图像最初会呈灰色,直到您将鼠标悬停在其上或单击它。

我使用的是 macOS Montery Beta 3 和 Xcode 13 Beta 3。

简单的复制

  1. 创建一个新的 SwiftUI macOS 项目
  2. 粘贴以下代码:
struct ContentView: View {
    var body: some View {
        NavigationView {
            Text("Panel1").padding()
                .toolbar {
                    Button(action: {}) {
                        Image(systemName: "plus")
                    }
                }
            Text("Panel2").padding()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 运行该应用程序,您应该看到加号按钮呈灰色。但是,将鼠标悬停在其上或单击它会使按钮不呈灰色。

这个问题与这个非常相似,但是用了一个toolbar

这里发生了什么事?

Pat*_*ick 2

我遇到了同样的问题,发现您需要明确指定颜色。

.toolbar {
    Button(action: {}) {
        Image(systemName: "plus")
    }
    Button(action: {}) {
        Image(systemName: "plus")
            .foregroundColor(.white)
    }
}
Run Code Online (Sandbox Code Playgroud)

例子

警告:这意味着.disabled(true) ViewModifier 打开Button不会将按钮更改为禁用外观。这需要手动处理。