Я пытаюсь создать пользовательский «Изменить шрифт» NSPopupButton для Mac App (не приложение iOS). Я могу обнаружить изменения в выборе шрифта:Изменение шрифта выделенного текста в Objective-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];
это не помогает. Что мне не хватает?
Ничего себе, это сработало! Благодарим вас за время и четкое объяснение! –