Macアプリ(iOSアプリではない)用のカスタム「フォントの変更」NSPopupButtonを作成しようとしています。フォント選択の変更を検出できます:
long fontItemIndex = [fontPopup indexOfSelectedItem];
NSMenuItem *fontItem = [fontPopup itemAtIndex:(int)selectedFontItemIndex];
NSString *fontName = [selectedFontItem title];
textView
フォント名のこのNSStringを考えると、NSTextViewで選択したテキストをこの新しいフォントに実際に変更する方法がわからないようです。
私は公式のドキュメントにただ目がくらんでいます:それconvertFont:toFamily:
は私が必要としているもののようです。私がこれをするとき:
NSFont *font = [NSFont fontWithName:fontName size:12.0];
[textView setFont:font];
選択したテキストだけでなく、すべてのテキストをテキストビューに設定します。しかし、私がこれを行うとき:
NSFontManager *fontManager = [NSFontManager sharedFontManager];
[fontManager convertFont:[fontManager selectedFont] toFamily:fontName];
それは何もしません。私は何が欠けていますか?