- У меня есть xib с меткой (TheLabel) ... которая является NSTextField. Текст не редактируется пользователем.
- У меня есть значение, связанное с NSString * в моем классе контроллера.
- У меня есть шрифт, связанный с NSFont * в моем классе контроллера.
Я могу изменить NSString в классе контроллера, и я вижу, что это отражено в метке.Какао NSTextField - атрибуты привязки и настройки
Я могу изменить NSFont в классе контроллера, и я вижу, что это отражено в ярлыке.
Но ...
Я не могу за жизнь мне понять, как включить и выключить подчеркивание.
Если я называю эту функцию ...
-(void)setUnderlineType:(NSNumber*)underline
{
NSMutableAttributedString* content = [[TheLabel attributedStringValue] mutableCopy];
[content addAttribute:NSUnderlineStyleAttributeName value:underline range:NSMakeRange(0, content.length)];
[TheLabel setAttributedStringValue:content];
}
... Я получаю подчеркивание, но связанный шрифт игнорируется, и я получаю некоторый стандартный шрифт. С этого момента изменение NSFont в моем контроллере не оказывает заметного влияния на NSTextField.
Я попытался удалить атрибуты из «содержимого» перед добавлением подчеркивания ... удаление атрибутов шрифта ... но это тоже не работает.
Каждый раз, когда я вызываю эту функцию, шрифт, связанный с NSTextField, становится «проигнорированным», и я вижу, что стандартный шрифт является стандартным размером.
Любое руководство будет принята с благодарностью.
Благодарим за попытку, но, к сожалению, это не решит проблему. Конечно, когда я устанавливаю подчеркивание, я вижу изменение текста ... у него есть подчеркивание И правильный шрифт, но потом, когда я сменил «TheFont» моего контроллера, который должен быть привязан к элементу управления, привязка и я не вижу изменений в отображаемом NSTextField. Я начинаю думать, что мне нужно отказаться от привязки ZXIB и всегда устанавливать атрибутную строку NSTextField, когда нужно изменить шрифт или подчеркивание. – BuzzB