Macos SwiftUI菜单按钮最初显示为禁用

Macos SwiftUI菜单按钮最初显示为禁用,macos,swiftui,Macos,Swiftui,在macOS上,SwiftUI菜单按钮最初显示为禁用状态。一旦你点击它们,它们将正常激活并正确显示。此代码复制了该问题: 菜单{ 按钮(“第一个”){} 按钮(“第二”){} }标签:{ 图像(系统名称:“gearshape.fill”) } .padding() 一开始是这样的: 然后单击按钮后: 预览显示正确,但正在运行的应用程序的行为如上所述 菜单的内容似乎不会影响结果 尝试使用.disabled(false)显式破坏禁用状态;没有乐趣,因为它不是真正的残疾 我可以设置图像的前景

在macOS上,SwiftUI菜单按钮最初显示为禁用状态。一旦你点击它们,它们将正常激活并正确显示。此代码复制了该问题:

菜单{
按钮(“第一个”){}
按钮(“第二”){}
}标签:{
图像(系统名称:“gearshape.fill”)
}
.padding()
一开始是这样的:

然后单击按钮后:

  • 预览显示正确,但正在运行的应用程序的行为如上所述
  • 菜单的内容似乎不会影响结果
  • 尝试使用
    .disabled(false)
    显式破坏禁用状态;没有乐趣,因为它不是真正的残疾
我可以设置图像的前景色,但我希望找出真正的问题。我错过什么了吗

编辑:设置前景也不起作用。仍然明显禁用。

此错误(存档为FB8976414)自macOS 11.3起仍然存在。不过,我从@kontiki那里得到了一些解决方法的帮助。如果将
按钮
菜单
一起包括在内,则它会正确显示已启用。别问我为什么。您可以将
按钮的大小设置为零,这样它就不会影响您的布局,只要在(如果?)错误修复后将其删除即可

HStack(间距:0){
菜单{
按钮(“第一个”){}
按钮(“第二”){}
}标签:{
图像(系统名称:“gearshape.fill”)
}
按钮(“,操作:{}).scaleEffect(x:0,y:0)
}

也有同样的问题。我也很想知道答案。