[英]Custom font seen in Interface builder but not in code in iOS project
我在iOS項目中添加了自定義字體“ Quicksand_Dash.otf”,“ Quicksand-Bold.otf”。 我可以在“界面生成器”中看到它,但是當我在代碼中列出字體時看不到它。
plist文件中添加了“應用程序提供的字體”和相關名稱。
我檢查字體文件是否在副本包資源中。
我如何列出字體;
for family in UIFont.familyNames {
let sName: String = family as String
print("family: \(sName)")
for name in UIFont.fontNames(forFamilyName: sName) {
print("name: \(name as String)")
}
}
我檢查了堆棧溢出中的每個答案,但我認為我遇到了另一個問題。
編輯:如果我在情節提要中添加標簽並使其字體為流沙。 字體也在代碼中列出。 但是,我不需要用戶情節提要。 我正在用代碼創建控制器。
EDIT2:如果我刪除情節提要中的標簽。 它開始不再被看到。
這是我面臨的相同問題,但是我已經在該文章中應用了解決方案。
你要踢自己...
在您的plist信息文件中,您具有:
`Quicksand-Dash.otf`
但是您添加的文件名為:
`Quicksand_Dash.otf`
下划線不要連字符
重命名文件,或編輯plist條目,您將看到字體。
調試控制台輸出:
family: Quicksand
name: Quicksand-BoldItalic
name: QuicksandDash-Regular
name: Quicksand-Bold
這是一個簡單的單視圖項目,在Simulator和Device上都對我有效。 (我沒有將字體添加到OS X,僅添加到了我的項目中):
https://github.com/DonMag/Quicksand
僅供安裝參考:
在應用程序中使用自定義字體
檢查以下鏈接以獲取更多參考。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.