2011-11-02 118 views
10

iOS4的(4.3模拟器)当我使用的字体无数临用以下字体方法用于小区:Objective-C - iOS5字体渲染已更改?

cell.titleLabel.font = [UIFont fontWithName:@"Myriad Pro" size:14];

它看起来像这样:

enter image description here

iOS5(5.0模拟器)当我使用相同字体方法的字体Myriad Pro它看起来像这样:

enter image description here

有没有人经历过这种行为(也许还有其他字体?)。

+0

它在设备上看起来也是这样,或者只是模拟器? [bugreport.apple.com](https://bugreport.apple.com/)可能。 – chown

+0

在设备上运行(运行iOS5)也是如此。 –

+1

您是否在Info.plist中正确声明了字体文件? Myriad Pro不是iOS上的标准字体。另外,您确定您拥有Myriad Pro的许可证,允许将其嵌入您的应用程序中吗? – omz

回答

4

在iOS 5上使用+fontWithName:size:时,字体名称参数需要是应用程序包中字体文件的全名,而不仅仅是字体系列名称。

+0

我有同样的问题,我正在使用[UIFont fontWithName:@“HelveticaNeue-Light”size:18.0] –

4

iOS 5中的字体渲染已更改。在iOS 4中,无论字体文件中有多少个面和您请求的是哪个面,字体文件中只有一个面可用。

iOS 5允许嵌入字体文件中的所有面都可用。

在我们的例子中,我们要求常规字体,而不是使用浅色字体。在iOS 5中,我们找回了常规的一个,这会搞砸一些UILabel间距。

2

如果我能看到更大的屏幕截图,这将有所帮助,但看起来这是Myriad Pro Condensed,而不是Myriad ProThe documentation for fontWithName:size:对此有关fontName

完全指定的字体名称。该名称包含字体系列名称和字体的特定样式信息。

随着“Myriad Pro”的通过,您只能指定姓氏。也许系统会为你随机选择一个错误的字体家族成员。所以请尝试说出你想要的字体的全名,在这种情况下是“Myriad Pro Regular”。