2012-07-17 14 views
3

我正在嘗試在我的應用程序中使用自定義字體,該字體爲ttf格式。在項目設置中,我添加了如下所示的字體名稱。無法在UIButton中使用自定義字體

enter image description here

而且我已經加入該字體在我的資源文件夾如下面

enter image description here

和我想要使用的字體是這個enter image description here

_enterButton.titleLabel.font = [UIFont fontWithName:@"Venus Rising" size:45.0]; 

如果我使用Arial或其他字體,它可以正常工作。但是,當我嘗試使用這種字體時,它根本不起作用。誰能告訴我爲什麼?

回答

2

你錯過了在info.plist中字體的擴展,我的意思是在Info.plist中,「由應用程序提供的字體」你需要設置「維納斯Rising.ttf」那麼你的問題會被解決

+0

我已經嘗試了很多次,以前和沒有擴展。看到你的回覆後,我想知道它將如何解決,我想給它一個最後的嘗試。是的,它的工作。非常感謝! – Perseus 2012-07-17 09:25:25

0
UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(10, 30, 240, 40)]; 
[label1 setFont: [UIFont fontWithName: @"Grinched" size:24]]; 
[label1 setText:@"Grinched Font"]; 
[[self view] addSubview:label1]; 

UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(10, 80, 240, 40)]; 
[label2 setFont: [UIFont fontWithName: @"Energon" size:18]]; 
[label2 setText:@"Energon Font"]; 
[[self view] addSubview:label2]; 

請試試這個。

它可以幫助你

+0

你也可以在這裏參考表格http://bit.ly/Q1vRgl – 2012-07-17 09:22:15

+0

你給出的鏈接看起來很酷。在此之前我已經解決了。但無論如何非常感謝你,這是一個很好的博客,我讀了tat主題 – Perseus 2012-07-17 09:27:27

+0

這並不能解決他的問題,他不想使用「Grinched」和「Energon」字體。他的問題是字體的實際名稱。 – 2012-07-17 09:28:36

1

前幾天我遇到了同樣的問題。對我來說,字體名稱與ttf文件名不同。

試試這個循環來檢查所有可用的字體在您的應用程序:

for (id familyName in [UIFont familyNames]) { 
    NSLog(@"family name : %@",familyName); 
    for (id font in [UIFont fontNamesForFamilyName:familyName]) { 
     NSLog(@" %@",font); 
    } 
} 

在你的情況,金星瑞星應顯示爲一個家族的名字,但你應該在你的代碼中使用的字體的確切的名字會VenusRisingRegular或類似的東西。

+0

這很有幫助,但我認爲只需右鍵單擊字體並獲取信息更容易 - 您可以在其中找到實際名稱。 :) – 2012-07-17 09:29:32

4

我下載的字體和我認爲它有不同的名稱比文件的名稱是什麼。看看這張圖片。

enter image description here

也不要在其上添加名字到您的應用程序的Info.plist中的關鍵「由應用程序提供的字體」下算了。希望能幫助到你! :)

+0

如果字體樣式只有Regular,我們不能把它作爲Bold嗎?我正在嘗試爲按鈕添加標題。上面提到了我使用的字體。它只有普通型 – Perseus 2012-07-17 09:37:48

+0

這是不可能的。如果字體沒有粗體,則不能使用常規粗體。 – 2012-07-17 09:38:58

+0

好的,謝謝你的信息。 – Perseus 2012-07-17 09:42:11