我在基于文档的应用程序(即Bold,Italic等)中实现一些快捷方式时遇到了一些麻烦:
Connecting Menu Items in Document Based Applications
问题是所描述的方法将实际的'Bold'菜单项与Font Manager断开连接,并将其替换为我创建的操作(在本例中为boldIt
)。因为只能有一个已发送的动作,所以它被替换,而不是添加。我怎么能克服这个?很沮丧。如果有人可以帮助我,我将非常感激。
扎克
答案 0 :(得分:1)
由于您无法使用菜单触发两个操作,因此有两种方法可以解决此问题:
1)当boldIt:
动作完成后,NSFontManager
动作会调用boldIt:
中的相应方法。这里的缺点是,无论调用addFontTrait:
,还需要了解字体管理器。
2)子类NSFontManager并覆盖[super addFontTrait:sender]
以在选择“粗体”时包含您想要的行为,然后使用{{1}}在超类上调用原始方法。