2013-10-14 22 views

回答

4

這是好的,有或無NSAttributedString。您可以將NSFontNameAttribute應用於特定範圍,或者您可以只在UILabel上指定font屬性。自定義字體與任何其他類型的字體沒有什麼不同(稍後...更多)。

所以基本。創建你的字體文件。您關心的作品是TTF(True Type字體)。將其複製到您的應用程序中,並確保它在「複製」階段被複制。 (如果您將其放入應用程序並將其添加到目標,它會自動執行此操作。)

將它添加到您的目標信息窗格中。這是設置了「由應用程序提供字體」,這是一個數組:

enter image description here

然後你可以加載字體:

self.label.font = [UIFont fontWithName:@"myfont" size:14.0]; 

請記住,在信息的名稱是文件名。 fontWithName:size:中的名稱是字體名稱。它們可以不同,特別是如果您重命名文件;不重命名字體。

Fontello會告訴你每個字形的代碼。如果它說U + E800,你會把它放在NSString中作爲@"\ue800"

您可能會創建沒有其中每個字符的字體(這也與內置字體有關,但您通常不會注意到它或擔心它)。您可以輕鬆地這些東西混合到「正常」的文字,如:

self.label.text = @"Hey! \uE800"; 

如果iOS版無法找到你的字體H一個字符,它會回落到默認字體。您可能需要比這更多的控制,以便您可以混合並匹配字體,併爲每個字符選擇正確的字體。如果您想要這種控制,請參閱WWDC 2013的Session 223: Using Fonts with Text Kit。其中一些僅限iOS 7。使用iOS 6時,您可能必須使用NSAttributedString並正確設置每個範圍的字體。

1

在斯威夫特的步驟是完全一樣的,但現在最終的代碼如下所示:

self.label.text = "Hey! \u{E800}" 
相關問題