【问题标题】:Key/Main NSWindow Responder Chain for multiple NSPanel windows多个 NSPanel 窗口的键/主 NSWindow 响应程序链
【发布时间】:2013-10-18 21:24:42
【问题描述】:

我有一个基于 NSDocument 的应用程序,它也有一个首选项 NSPanel 窗口。然后,首选项面板可以弹出一个 NSFontPanel 来为我的应用程序配置默认字体。我面临的挑战是,当 NSFontPanel 显示时,它变成了“键”——这意味着响应者链会将 changeFont: 消息引导到“主”窗口(即我的文档而不是我的首选项面板)

有人知道这种情况应该如何处理吗?我想,在这种情况下,我想要的是 changeFont: 消息转到“最顶层的非键窗口”。我可以在我的主窗口中快速检查一下首选项面板是否可见并传递消息 - 但这感觉很糟糕......

欢迎提出任何建议!

【问题讨论】:

    标签: macos cocoa appkit


    【解决方案1】:

    您可以通过发送changeFont: 消息来使用NSNotiFication

    【讨论】:

    • 好主意 - 仍然需要编写一些代码来决定谁最适合处理消息 - 这就是响应者链的用途。让我印象深刻的是一个常见的架构“问题”,所以我希望有一些更干净的东西。
    猜你喜欢
    • 1970-01-01
    • 2016-07-12
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多