gpt4 book ai didi

objective-c - 为什么使用 CoreText 绘图看起来与使用 UILabel 不同?

转载 作者:可可西里 更新时间:2023-11-01 03:06:04 26 4
gpt4 key购买 nike

我正在使用 TTTAttributedLabel (它使用 CoreText)而不是 UILabel 来加粗某些部分。它工作得很好,但文本看起来不一样。看起来它使用了不同的字体。我已将其设置为相同的字体 (Helvetica),但一种是 CTFont,另一种是 UIFont。为什么它们看起来不一样?

  • 这是 UILabel 的 UIFont:[UIFont systemFontOfSize:15]
  • 这是 CoreText 的 CTFont:CTFontCreateWithName((__bridge CFStringRef)[UIFont systemFontOfSize:15].fontName, 15, NULL)

UILabel 截图:

enter image description here

CoreText 截图:

enter image description here

“promenade”中的“p”和“o”是最容易看出字体不一样的部分。 CoreText 版本中的字母更圆。

最佳答案

UILabel 使用 WebKit 风格的文本渲染,在精确度上走捷径以提高绘图性能。 CoreText(最初来自 OS X)采取相反的方式,以牺牲性能为代价尽可能准确和完美地呈现。

对于 iOS 应用程序,只为最明显的关键 UI(例如标题)保留 CoreText,并且您可以在其中缓存呈现的输出。

关于objective-c - 为什么使用 CoreText 绘图看起来与使用 UILabel 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8158342/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com