2016-09-23 3 views
0

Я программирую приложение для OSX с использованием Objective C. У меня есть NSTextField, который я использую для отображения неотредактируемого текста. Я пытаюсь сделать шрифт тонким штрихом/контуром вокруг него, но изо всех сил стараюсь это сделать.Mac OSX: Как погладить текст в NSTextField?

Я пытался использовать NSTextView вместо NSTextField и реализовал NSAttributedString, как это так, однако текст не намечаются на всех:

  NSAttributedString *string = [[NSAttributedString alloc] initWithString:@"Test String" attributes:@{ NSStrokeColorAttributeName : [CIColor blackColor], NSForegroundColorAttributeName : [CIColor blackColor], NSStrokeWidthAttributeName : @-1.0 }]; 

      [quoteText_Label setEditable:YES]; 
      [quoteText_Label insertText: string]; 
      [quoteText_Label setEditable:NO]; 

Глядя на другой вопрос о SO, они либо нацеленный на iOS, Swift, или является излишним для простой реализации, к которой я пытаюсь перейти: простой черный штрих вокруг белого шрифта.

Спасибо

ответ

1

Включить Rich Text в XIB и установить свойство текстового поля attributedStringValue. Вам не обязательно делать setEditable.

Смотрите документацию NSStrokeWidthAttributeName:

NSNumber, содержащее значение с плавающей запятой, как процент от размера шрифта точки

По умолчанию 0, нет хода; положительный, только удар; отрицательный, ход и заполнение (типичное значение для выделенного текста будет 3,0)

Тонкий черный контур вокруг черного текста едва заметен.

0

Значения цветовых атрибутов должны быть объектами NSColor. Я думаю, что использование CIColor здесь не так.

+0

Этот ответ должен быть комментарием. – Willeke

Смежные вопросы