6

由于某种原因,当我设计 iPad 应用程序时,许多字体不会显示在 Interface Builder 中。不幸的是,我的 iPad 尚未交付,所以我无法判断从长远来看这是否会成为问题,但它肯定会一直持续到模拟器。

有问题的字体在各个网站上被列为与 iPad 兼容,但 SDK 4.0.1 似乎仍然令人困惑。

例如,分配给直接在新 iPad 视图上绘制的标签的 Hoefler Text 字体使用默认字体显示。如果我单击以编辑文本,它将以正确的字体显示。我现在已经在几台mac上试过了

这是一个问题,因为我需要通过应用程序模型发送给我的客户,以便为他们的后端团队签署像素完美布局:(

有任何想法吗?!

4

3 回答 3

9

对于其他可能感兴趣的人:XCode 3.x 上的 IB 存在一个错误/已知问题,带有非标准字体和 Interface Builder。自定义字体通常需要以编程方式设置(通过 [UIFont fontWithName...)。

对于模型,您应该使用 PhotoShop 等工具,而不是 Interface Builder。

于 2011-01-12T21:11:15.063 回答
3

在 Interface Builder 中使用自定义字体可以使用可重用的库。

它使用一个简单的技巧来做到这一点。将字体(比如 calibri)设置为您永远不会在项目中使用的所有 UI 元素,FontReplacer 将在自定义字体和 calibri 之间进行映射。因此无需制作 IBOutlets 或任何其他图形。

这是 github 的链接,您可以从中下载 FontReplacer 以在您的项目中使用。 https://github.com/0xced/FontReplacer

于 2012-12-20T10:51:52.373 回答
2

我通过在 UILabel 上编写自定义类别解决了这个问题。该类别具有我使用 objc_setAssociatedObject 在标签上设置的“myFontName”属性,并使用 objc_getAssociatedObject 从对象中获取。

然后,我在名为“updateWithMyFont”的类别中编写了另一个方法,该方法通过标签的属性文本属性设置标签上的字体(获取属性文本并复制属性,设置字体,创建新的属性字符串,设置属性文本属性)。

于 2013-07-03T02:36:48.950 回答