FontLabel 0.0.1

FontLabel 0.0.1

测试已测试
语言语言 Obj-CObjective C
许可证 Apache 2
发布最后发布2014年12月

未填写 维护。



FontLabel 0.0.1

  • Zynga, Inc.

版权所有 © 2009 Zynga Game Networks.

此项目中的所有 .ttf 文件来自 http://www.webpagepublicity.com/free-fonts.html

此项目提供了 4 个类和 2 个类别,用于自定义字体渲染文本。

ZFont

ZFont 是 UIFont 对于任意字体的等效物。

注意,与 ZFont 相比,UIFont 报告的某些字体(包括 Helvetica)的上升线更大。我不知道为什么会发生这种情况。ZFont 使用 CoreGraphics 确定此信息。

FontManager

FontManager 用于缓存 CGFontRef 对象,您可以通过名称查找它们,就像 UIFont 通过名称缓存其内部字体对象一样。

用法

为每个你关心的字体调用一次 -[FontManager loadFont:],通常作为应用程序启动的一部分。然后你可以使用 -[FontManager zFontWithName:] 查找 ZFont 对象。如果你没有调用 -loadFont:,它将在调用 -zFontWithName: 时自动为你调用。

NSString (FontLabelStringDrawing)

此类别模仿了 NSString (UIStringDrawing) 并提供了在给定的 CGFontRef 中绘制文本的基本机制。它在三个关键方面与 UIStringDrawing 不同

  • 正确包装尺寸/绘制的字符串,正确地字符包装超长的单词,即使当行断开模式为 UILineBreakModeWordWrap 时,也无法单独适应一行。UIStringDrawing 在相同情况下似乎表现不正确。
  • 目前仅支持某些行断开模式。值得注意的是,不支持裁剪和头部/ middle 截断。
  • UIFont 报告的系统字体(Helvetica)的上升线比 ZFont 大。我不知道为什么会这样。这意味着 UIStringDrawing/UILabel 将使用比 FontLabelStringDrawing 更高的边界框来用于任何渲染在 Helvetica 中的文本。

用法应与 UIStringDrawing 的相应方法相同。

ZAttributedString/ZMutableAttributedString

ZAttributedString 是一个属性字符串的实现,模仿了桌面 Cocoa 中的 NSAttributedString。主要区别在于 ZMutableAttributedString 不提供 -mutableString 方法。

ZAttributedString (ZAttributedStringDrawing)

这个类别模拟了NSString(FontLabelStringDrawing),但它提供了为ZAttributedString提供的绘图原语。它们都应该与FontLabelStringDrawing的对应对象类似。

FontLabel

这是UILabel的一个子类,它使用ZFont而不是UIFont来绘制文本。它使用FontLabelStringDrawing来执行重操作。换行、尾部截断和-sizeToFit均有效,标准textAlignment/textColor属性也是如此。新增了一个zAttributedText属性,允许进行有属性的字符串渲染。

以下属性被忽略:

  • enabled
  • font(请使用zFont代替)
  • shadowColor
  • shadowOffset

待办事项

  • 支持更多UILabel属性