首页 > 解决方案 > Pod 的 Storyboard 中的自定义字体未显示在正在运行的应用程序中

问题描述

我为多个项目中使用的通用 UI 创建了一个 CococoaPod 框架。我已将 Source Sans Pro 分配给情节提要中的 UILabel,并将字体文件添加到资源文件夹内的 CocoaPod 框架中。

当任何使用此框架的应用程序在模拟器中运行时,标签会显示 Helvetica 字体,而不是 Source Sans Pro 字体。

如果我在 viewDidLoad 中将字体属性显式应用于在 Storyboard 中为其设置了 Source Sans Pro 但显示 Helvetica 的 UILabel,则会显示 Source Sans Pro 字体。

我想知道为什么来自 Pod 框架的 UIStoryboard 文件没有显示适当的字体。

标签: iosfontsuikitxcode-storyboard

解决方案


您可以在情节提要代码font中设置 的属性 。这取决于您如何设置字体。如果您尝试在代码中设置与您在 Storyboard 中设置的字体不同的字体,它将采用您在代码中设置的字体。</p> UILabel

假设您将 in 设置Sans Pro 为Labelinstoryboard并且您正在尝试设置不同的字体HelveticainviewDidLoad方式,它将采用Helvetica唯一的方式。

如果您始终以任何一种方式(无论是StoryboardCode. 你可以UILabel在它的didSet属性观察器中设置属性 </p>

@IBOutlet weak var myLabel: UILabel! {
    didSet {
        myLabel.font = UIFont.systemFont(ofSize: 20) // you can set your custom font as well
        myLabel.textColor = UIColor.white
    }
}

推荐阅读