【问题标题】:Trouble with First Responder第一响应者的麻烦
【发布时间】:2011-06-21 19:46:09
【问题描述】:

我在基于文档的应用程序(即粗体、斜体等)中实现一些快捷方式时遇到了一些麻烦:

Connecting Menu Items in Document Based Applications

问题在于所描述的方法将实际的“粗体”菜单项与字体管理器断开连接,并将其替换为我创建的操作(在本例中为 boldIt)。因为只能有一个发送的动作,它被替换,而不是添加。我该如何克服呢?非常令人沮丧。如果有人可以帮助我,我将不胜感激。

扎克

【问题讨论】:

    标签: objective-c cocoa macos fonts interface-builder


    【解决方案1】:

    由于您不能让菜单触发两个操作,因此有两种很好的方法来解决这个问题:

    1) 让您的boldIt: 操作在完成工作后调用NSFontManager 中的适当方法。这里的缺点是无论调用什么boldIt: 都需要知道字体管理器。

    2) 子类 NSFontManager 并覆盖 addFontTrait: 以在选择“粗体”时包含您想要的行为,然后使用 [super addFontTrait:sender] 在超类上调用原始方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-13
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多