繁体   English   中英

NSView(内容视图)作为 firstResponder

[英]NSView (Content View) as firstResponder

我有一个在我的首选项笔尖中使用的内容视图。 我使用一种方法在我的应用程序中更改 NSTextView 的字体。

此内容视图必须设置为 firstResponder 才能从我的 changeTextFont: 方法中获取消息,但由于它不是 window,因此它没有 firstResponder。 结果,它根本不会更改文本字体……有人有解决方法吗?

谢谢一群人。

我可以在不将[self window]指定为第一响应者的情况下使示例项目工作。 我所做的是:

  1. (void)changeTextFont:(id)sender ,我替换了语句:

     [[self window] makeFirstResponder:[self window]];

    带线:

     [[NSFontManager sharedFontManager] setAction:@selector(changeMyFont:)]; [[NSFontManager sharedFontManager] setTarget:self]; //-- this seems to be not mandatory, but I mention it because your case could be different
  2. 我将changeFont:重命名为changeMyFont:

     - (void)changeMyFont:(id)sender {

通过这些更改,字体在示例内容视图中正确更新。

我不知道它是否适合您,因为最终您会尝试在不同的上下文中使用此代码,但我希望它会。 我建议您首先尝试修改示例项目,以便您对我的解决方案充满信心,然后将其移至您的项目以检查它是否也可以在那里工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM