我正在尝试为 Mac 应用程序(不是 iOS 应用程序)创建一个自定义的“更改字体”NSPopupButton。我可以检测到字体选择的变化:
long fontItemIndex = [fontPopup indexOfSelectedItem];
NSMenuItem *fontItem = [fontPopup itemAtIndex:(int)selectedFontItemIndex];
NSString *fontName = [selectedFontItem title];
鉴于此字体名称的 NSString,我似乎无法找到如何将 NSTextView 中的选定文本实际更改textView
为这种新字体。
我只是被官方文档弄得眼花缭乱:这似乎convertFont:toFamily:
是我所需要的。当我这样做时:
NSFont *font = [NSFont fontWithName:fontName size:12.0];
[textView setFont:font];
它设置文本视图中的所有文本,而不仅仅是选定的文本。但是当我这样做时:
NSFontManager *fontManager = [NSFontManager sharedFontManager];
[fontManager convertFont:[fontManager selectedFont] toFamily:fontName];
它没有做任何事情。我错过了什么?