gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 03:43:08 31 4
gpt4 key购买 nike

在 macOS 上,SwiftUI 菜单按钮最初显示为禁用。单击它们后,它们会正常激活并正确显示。这段代码复制了这个问题:

Menu {
Button("First") { }
Button("Second") { }
} label: {
Image(systemName: "gearshape.fill")
}
.padding()
最初看起来像这样:
enter image description here
然后点击按钮后:
enter image description here
  • 预览显示正确,但正在运行的应用程序的行为如上
  • 菜单内容似乎不影响结果
  • 尝试使用 .disabled(false) 在禁用状态下进行显式处理;没有快乐,因为它并没有真正被禁用

  • 我可以只设置图像的前景色,但我希望找出真正的问题。我错过了什么吗?
    编辑:设置前景也不起作用。仍然明显残疾。

    最佳答案

    此错误(归档为 FB8976414)从 macOS 11.3 开始仍然存在。不过,我从 @kontiki 那里得到了一些解决方法的帮助。如果您包含 Button随着Menu ,它显示正确启用。不要问我为什么。您可以制作 Button零大小,因此它不会影响您的布局,只需在(如果?)修复错误时将其删除。
    -- 更新 --
    从 macOS 11.4 开始,此技术不再有效。 Menu在单击之前始终显示为禁用状态。我想如果你从好的方面看,至少它更一致!
    -- --

    HStack(spacing: 0) {
    Menu {
    Button("First") { }
    Button("Second") { }
    } label: {
    Image(systemName: "gearshape.fill")
    }

    Button("", action: {}).scaleEffect(x: 0, y: 0)
    }

    关于macos - SwiftUI 菜单按钮最初显示为禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65602163/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com