![](/img/trans.png)
[英]Flutter iOS. Fonts looks different in debug simulator and release device
[英]iOS. font available on simulator but not on device
我在應用程序中使用自定義字體,並遇到了非常奇怪的問題。 該字體在模擬器上可用,但在實際的iPad上不可用。
1我不會混淆字體名稱和文件名。 文件名是bitdust2.ttf
而字體名是BitDustTwo
,這就是我所說的,在模擬器上也可以。
2這不是區分大小寫的問題。 字體確實在設備上不可用。 我這樣做時知道原因:
NSLog(@"%@", [UIFont familyNames]);
我在模擬器上看到我的字體包含在familyNames
數組中,但在iPad上卻丟失了。 怎么了? 您是否遇到過這樣的問題?
(來自以上注釋:)驗證字體文件“ bitdust2.ttf”是否已添加到目標中並已復制到應用程序包中。
標題為模擬器的是模擬器,而不是真正的模擬器。 模擬器運行相同的命名API,但是由於模擬器在OS X而非iOS上運行,因此模擬器通常具有更多功能。 例如,模擬器上的媒體播放器類比設備上支持的文件(編解碼器)類型更多,因為OS X比iOS支持的編解碼器更多。 在模擬器上,可用的字體比設備上的字體多。
以下是有關在iOS應用中嵌入字體的更多詳細信息:
在iOS 4中有一種使用自定義字體的簡單方法。
- 將您的字體文件(例如Chalkduster.ttf)添加到XCode中項目的Resources文件夾中。
- 打開info.plist並添加一個名為UIAppFonts的新密鑰。 此項的類型應為array。
- 將自定義字體名稱添加到此數組,包括擴展名(Chalkduster.ttf)。
- 現在,您可以在應用程序中使用[UIFont fontWithName:@“ Chalkduster” size:16]。
重要的是不要錯過任何步驟。 如果仍然有問題,請轉到XCode中項目的“構建階段”選項卡,然后在“副本捆綁資源”選項卡下,確保已包含字體文件。 如果沒有,請添加它。
檢查設備的操作系統版本及其對iOs版本的支持。 您使用的自定義字體必須與設備的iOS兼容。
檢查此答案。 如果不支持,可能需要使用其他自定義字體。
我只是遇到了同樣的問題,並且在確認所有內容都正確之后:
我不得不再次下載文件並重新添加它..當我更改文件名時...所以我認為.ttf文件已損壞
您需要將字體嵌入到應用程序中。 說明在這里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.