2012-02-14 155 views
5

我已將自定義字體添加到我的資源和捆綁資源中,也添加到了我的plist中。一切工作正常在iOS5,但是當我嘗試iOS 4.3模擬器,沒有自定義字體的工作。iOS 5自定義字體

任何想法爲什麼?

這裏是我如何訪問該字體的一個樣本:

lblWait.font = [UIFont fontWithName:@"AvenirNextLTPro-Medium" size:22]; 
+0

您可以向我們展示您在plist下'應用程序提供的字體'下的值的確切列表嗎? – warrenm 2012-02-14 17:45:12

回答

24

在第一個參數是NSString的名稱必須是點上有什麼奇怪的是,它並不一致。這取決於它是.otf文件還是.ttf文件。我發現.otf文件使用postscript名稱,而.ttf使用全名。找到這些的一個好方法是在Font Book中打開字體文件並找到它的信息(cmd-I)。我會嘗試要麼看到什麼堅持。

enter image description here

編輯:

它並不總是那麼的TTF使用FULLNAME和OTF使用PostScript名字,你應該嘗試。

+1

這是很好的反饋。我能夠在iOS 5.1模擬器,iOS 4.3模擬器和運行iOS 4.1的iPhone上使用此特定字體。 OTF文件被命名爲「AvenirNextLTPro-Medium.otf」,並具有內部PostScript名稱「AvenirNextLTPro-Medium」。 – warrenm 2012-02-14 17:54:16

+0

warrenm,是的,它可以工作,但是當你在ios4.3和ios5之間切換時,字體看起來會有所不同。我在這裏仍然有問題。沒有任何一致。當我使用全名時,設置任何字體大小都不起作用!當我使用postscript名稱時,字體大小可以工作,字體可以在ios5中工作,但字體在ios5下的任何東西都不起作用,這是我的原始問題。 – Jesse 2012-02-14 18:25:52

+0

http://stackoverflow.com/questions/7980812/objective-c-ios5-font-rendering-has-changed – Jesse 2012-02-14 18:30:04

9

很多時候,這個問題的根源在於字體文件被添加到項目而不是目標

單擊字體並確保在右側欄中的「目標成員身份」中打勾。