iPhone - конвертировать CTFont в UIFont? - PullRequest
5 голосов
/ 16 июля 2011

Я пытаюсь преобразовать CTFont в UIFont, не теряя ни один из стилей и атрибутов, таких как:

  • Имя шрифта
  • Размер шрифта
  • Шрифтцвет
  • Подчеркивание
  • Жирный
  • Курсив
  • и т. д.

Ответы [ 2 ]

13 голосов
/ 16 июля 2011
CTFontRef ctFont = ...;
NSString *fontName = [(NSString *)CTFontCopyName(ctFont, kCTFontPostScriptNameKey) autorelease];
CGFloat fontSize = CTFontGetSize(ctFont);
UIFont *font = [UIFont fontWithName:fontName size:fontSize];

Цвет и подчеркивание не являются атрибутами шрифта.Жирный и курсив являются частью названия шрифта.

0 голосов
/ 02 мая 2016

с ARC:

UIFont *uiFont = [UIFont fontWithName:(__bridge NSString *)CTFontCopyPostScriptName(ctFont) size:CTFontGetSize(ctFont)];
...