簡體   English   中英

自定義字體在“界面生成器”中可見,但在iOS項目中的代碼中則未

[英]Custom font seen in Interface builder but not in code in iOS project

我在iOS項目中添加了自定義字體“ Quicksand_Dash.otf”,“ Quicksand-Bold.otf”。 我可以在“界面生成器”中看到它,但是當我在代碼中列出字體時看不到它。

  • plist文件中添加了“應用程序提供的字體”和相關名稱。

  • 我檢查字體文件是否在副本包資源中。

復制捆綁包資源

2號

ss 3

我如何列出字體;

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)")
        }
 }

我檢查了堆棧溢出中的每個答案,但我認為我遇到了另一個問題。

如何在iPhone SDK中使用自定義字體

自定義字體不起作用

編輯:如果我在情節提要中添加標簽並使其字體為流沙。 字體也在代碼中列出。 但是,我不需要用戶情節提要。 我正在用代碼創建控制器。

EDIT2:如果我刪除情節提要中的標簽。 它開始不再被看到。

這是我面臨的相同問題,但是我已經在該文章中應用了解決方案。

自定義字體僅在Interface Builder中可用

你要踢自己...

在您的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

僅供安裝參考:

在此處輸入圖片說明

在此處輸入圖片說明

我也堅持這個問題,並且給出的解決方案對我不起作用。 在我的情況下,ttf文件的“ Target Membership”塊已取消選中。 因此,當我單擊它時,字體家族列表中列出了受人尊敬的ttf字體。 圖片附件供參考

快樂編碼!

從@Donmag答案的參考。 我從GitHub下載他的示例項目,並將字體從他的項目復制到我的項目,然后將plist的“應用程序提供的字體”區域復制到我的plist。 有趣的是,它被復制為“ UIAppFonts”。 但是,它現在開始工作。

SS

在應用程序中使用自定義字體

  • 將字體添加到您的項目文件夾
  • 將其添加到plist文件中
  • 檢查是否將其添加到副本捆綁資源中
  • 將字體添加到您的字體書中

檢查以下鏈接以獲取更多參考。

https://stackoverflow.com/a/28843547/9332509

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM