我正在尝试为Mac应用程序(不是iOS应用程序)创建自定义的“更改字体”NSPopupButton。我可以检测字体选择的变化:在Objective-C中更改所选文本的字体C
long fontItemIndex = [fontPopup indexOfSelectedItem];
NSMenuItem *fontItem = [fontPopup itemAtIndex:(int)selectedFontItemIndex];
NSString *fontName = [selectedFontItem title];
鉴于这种NSString的字体的名字,我似乎无法找出如何实际在我NSTextView textView
更改所选文本,这个新的字体。
我只是被official documentation所迷惑:看起来convertFont:toFamily:
就是我所需要的。当我这样做时:
NSFont *font = [NSFont fontWithName:fontName size:12.0];
[textView setFont:font];
它设置文本视图中的所有文本,而不仅仅是选定的文本。但当我这样做:
NSFontManager *fontManager = [NSFontManager sharedFontManager];
[fontManager convertFont:[fontManager selectedFont] toFamily:fontName];
它不会做一件事。我错过了什么?
哇,这工作!感谢您的时间和清晰的解释! – 2013-03-08 01:19:14