如何從這裏獲取字符:http://fontello.com/並將其用於本機iOS 7應用程序以用於UILabels或UITextViews?在原生iOS7應用程序中使用fontello字體
這是NSAttributedString的適當使用嗎?
任何人都有做這類工作的例子嗎?
感謝
如何從這裏獲取字符:http://fontello.com/並將其用於本機iOS 7應用程序以用於UILabels或UITextViews?在原生iOS7應用程序中使用fontello字體
這是NSAttributedString的適當使用嗎?
任何人都有做這類工作的例子嗎?
感謝
這是好的,有或無NSAttributedString
。您可以將NSFontNameAttribute
應用於特定範圍,或者您可以只在UILabel
上指定font
屬性。自定義字體與任何其他類型的字體沒有什麼不同(稍後...更多)。
所以基本。創建你的字體文件。您關心的作品是TTF(True Type字體)。將其複製到您的應用程序中,並確保它在「複製」階段被複制。 (如果您將其放入應用程序並將其添加到目標,它會自動執行此操作。)
將它添加到您的目標信息窗格中。這是設置了「由應用程序提供字體」,這是一個數組:
然後你可以加載字體:
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
並正確設置每個範圍的字體。
在斯威夫特的步驟是完全一樣的,但現在最終的代碼如下所示:
self.label.text = "Hey! \u{E800}"