我想創建一個使用用戶自定義字體的應用程序,因此我想讓我的應用程序在運行時加載ttf文件。 我熟悉通過UIAppFonts鍵添加自定義字體,如Adding custom font on iphone中所述。據推測,如果提供用戶創建的自定義版本,創建可由我的應用程序換出的佔位符自定義字體將不會成功?將iPhone/iPad文本動態更改爲自定義字體
3
A
回答
3
我使用的字體文件是這樣的:http://www.webpagepublicity.com/free-fonts/a/Almagro%20Regular.ttf
而且我做到了使用此代碼:
CGDataProviderRef fontDataProvider = CGDataProviderCreateWithFilename([fontFilepath UTF8String]);
// Create the font with the data provider, then release the data provider.
CGFontRef customFont = CGFontCreateWithDataProvider(fontDataProvider);
CGDataProviderRelease(fontDataProvider);
CFErrorRef error = nil;
CTFontManagerRegisterGraphicsFont(customFont, &error);
CGFontRelease(customFont);
if (error != nil)
{
NSError* err = (__bridge NSError*)error;
NSLog(@"error code %d desc: %@",err.code, [err description]);
}
UIFont* f = [UIFont fontWithName:@"Almagro" size:14.0];
有一些疑難雜症的雖然。您需要知道字體名稱,因爲它可能與文件名略有不同。在我的例子中,文件名是「Almagro Regular.ttf」,但字體名稱只是「Almagro」。在另一個論壇上有人說,你需要小心他們的名字中有空格的字體,因爲像「Sans Serif」這樣的字體會被註冊爲UFSont的「SansSerif」fontWithName:size:
讓我知道它是否有效。
+0
工作就像一個魅力。謝謝! – user216661 2012-08-12 20:46:30
相關問題
- 1. 如何將自定義ListViews字體更改爲自定義字體?
- 2. Android - 動態更改webview自定義字體
- 3. 使用自定義字體將文本本地化爲中文
- 4. 自定義文本動態
- 5. 如何將文本更改爲自定義字體並在iOS 7中使用自定義顏色
- 6. 如何在動態輸入文本時生成自動文本字體更改?
- 7. 如何更改自定義字體文本大小?
- 8. 設置自定義字體動態添加文本視圖android
- 9. tablayout自定義字體不會更改
- 10. Android自定義ListAdapter - 更改字體
- 11. Sencha touch2:如何將默認字體更改爲我們的自定義字體?
- 12. 如何將Facebook插件中的文字「like」更改爲自定義文本?
- 13. 如何將字體重量更改爲fla的滾動文本?
- 14. 爲什麼自定義字體會移動文本(改變垂直對齊)?
- 15. 自定義動態TableViewCell文本定位
- 16. 如何將狀態欄的文字顏色更改爲自定義的
- 17. 通過更改文字自定義DIV中的字體大小
- 18. 將comboBox更改爲自動完成文本字段codename one
- 19. 自定義屬性文本字體
- 20. D3.JS將軸線滴答中的文本更改爲自定義字符串
- 21. 更改自定義工具欄文本
- 22. 將自定義字體設置爲JLabel
- 23. 將文本樣式更改爲粗體
- 24. 更改爲自定義字體XAML(Windows手機)
- 25. 標籤不會更改爲自定義字體
- 26. ES自定義動態映射字段名稱更改
- 27. 更改Mediawiki文本字體?
- 28. 動態更改JTextPane中文本的字體
- 29. 自動更改主體字體大小
- 30. 自定義字體+文本字段的佔位符和文本
您無法在運行時更改應用程序包:http://stackoverflow.com/questions/4764591/replacing-images-in-the-bundle-at-run-time。您可以嘗試保存到文檔目錄,但我不確定UIFont是否會識別info.plist和應用程序捆綁包中找不到的字體。 – 2012-08-01 17:02:38
我的想法是在包中放置一個「佔位符」字體,然後將該應用程序指向文檔目錄中的「真實」字體。但我沒有看到任何機制來指導程序在文檔目錄中查找字體。 – user216661 2012-08-06 22:43:59
不幸的是,這聽起來不像是可能的。 – 2012-08-07 13:34:01