5

我正在尝试将 CTFont 转换为 UIFont 而不会丢失任何样式和属性,例如:

  • 字体名称
  • 字体大小
  • 字体颜色
  • 下划线
  • 胆大
  • 斜体
  • ETC
4

2 回答 2

14
CTFontRef ctFont = ...;
NSString *fontName = [(NSString *)CTFontCopyName(ctFont, kCTFontPostScriptNameKey) autorelease];
CGFloat fontSize = CTFontGetSize(ctFont);
UIFont *font = [UIFont fontWithName:fontName size:fontSize];

颜色和下划线不是字体的属性。粗体和斜体是字体名称的一部分。

于 2011-07-16T02:29:37.780 回答
0

使用 ARC:

UIFont *uiFont = [UIFont fontWithName:(__bridge NSString *)CTFontCopyPostScriptName(ctFont) size:CTFontGetSize(ctFont)];
于 2016-05-02T08:06:16.717 回答