自定义字体显示在故事板上,但不在模拟器、设备上

Posted

技术标签:

【中文标题】自定义字体显示在故事板上,但不在模拟器、设备上【英文标题】:custom font shows on storyboard, but not on simulator, device 【发布时间】:2016-09-05 13:16:43 【问题描述】:

潜伏了这么久,第一次用SO提问。

我在 Storyboard 中为一些 UITextFields 和 UITextViews 添加了自定义字体...。 screenshot of storyboard

...但字体没有显示在模拟器上,也没有显示在实际设备(iPad 2、iPad Mini3)上。 screenshot of simulator

请告知您是如何解决这个问题的,或者您可能需要的任何其他信息。谢谢!在 El Capitan 10.11.6 上运行 XCode 7.3.1。

开发中的 ios 应用程序设置为在 iOS 9.3 及更高版本上运行。

【问题讨论】:

【参考方案1】:

您应该将自定义字体添加到您的应用程序文件夹 (TTF/OpenType),然后修改 application-info.plist 文件。将“应用程序提供的字体”键添加到新行

它同时支持 TTF 和 OpenType 字体。需要注意的是,它会在应用启动时加载和解析所有字体,因此会减慢初始加载时间。

您还必须在构建阶段将字体添加到“复制捆绑资源”中。

【讨论】:

对于文本字段,您可以使用 UITextFeild 类的“字体”属性发送文本字段的字体。 您好,感谢您的回答。实际上我已经完成了上述所有操作:a)在应用程序文件夹中添加了自定义字体 b)为“应用程序提供的字体”修改了 Info.plist 文件 c)在“复制捆绑资源”中添加了字体文件 d)设置受影响文本字段的自定义字体。如果您可以查看原始帖子中的 2 张图片,自定义字体会显示在情节提要的所有文本字段中,但不会显示在模拟器上。 复制捆绑资源,我总是忘记给你投票【参考方案2】:

检查您的字体文件(exp. Chewy.ttf)目标是否设置为应用目标。

步骤:

    选择字体文件 在文件检查器中检查目标成员身份

【讨论】:

【参考方案3】:

将您的自定义字体添加到您的项目中。即将字体文件(ocrb.TTF)拖到 XCode 项目中。

检查下面的链接您可以解决您的问题:Custom Font issue

【讨论】:

我必须以编程方式设置字体才能使其工作。在情节提要上设置字体不会。 设置 Verdana 字体并增加大小并检查您的模拟器,此默认字体显示在模拟器中。如果是,那么您的自定义字体有一些问题要安装在您的机器上。【参考方案4】:

尝试将字体名称添加到带有完整路径的 info.plist 中。

即:字体/Arial.ttf

【讨论】:

以上是关于自定义字体显示在故事板上,但不在模拟器、设备上的主要内容,如果未能解决你的问题,请参考以下文章

UIButton 不在故事板上的同一个地方

无法在故事板上移动自定义 UIView

在多个视图控制器、多个故事板上显示用户输入的文本

带有自定义声音的 UNMutableNotificationContent

iAd 显示在模拟器中,但不在设备上

WebView 中的背景图像显示在模拟器中,但不在设备上