You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SwiftUI中根据前置窗口启用/禁用Mac菜单项?

AppKit中实现仅对特定窗口生效的菜单命令

我开发的应用包含3种业务窗口+1个设置窗口,部分菜单命令只需要对其中一种窗口类型生效。在AppKit里可以利用响应者链机制来实现这种需求:

  • 给目标菜单项设置对应的动作selector,并将菜单项的target设为nil
  • 系统会自动遍历当前的响应者链,查找能响应该selector的响应对象:
    • 找到可响应的对象时,菜单项自动处于启用状态
    • 未找到时,菜单项会自动禁用
  • 整个过程不需要额外编写状态控制代码,系统会自动完成菜单项的启用/禁用逻辑

内容的提问来源于stack exchange,提问作者Duncan C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 06:22:02