2011-11-02 53 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」。