相当于Xcode中android的styles.xml

Posted

技术标签:

【中文标题】相当于Xcode中android的styles.xml【英文标题】:Equivalent of android's styles.xml in Xcode 【发布时间】:2019-01-25 07:36:34 【问题描述】:

我正在尝试为 Xcode 故事板中的所有标签设置自定义字体。故事板由多个视图控制器中的标签组成。我没有这些标签的任何出口。在 android 中,它是通过 styles.xml 完成的,但在 ios 中找不到相同的等效项。 我也试过这段代码:

  struct FontName 
    static let semiBold = "SourceSansPro-SemiBold"


extension UIFont 

    class func mySemiBoldFont() -> UIFont 
        return UIFont(name: FontName.semiBold, size: 20)!
    


问题是我想以这样一种方式制作它,即我可以在情节提要的字体中设置mySemiBoldFont,并且在发生任何大小更改的情况下,我只需将其替换为新值而不是20,它就会被应用到任何地方.

任何帮助将不胜感激!

【问题讨论】:

没有完全等同于 android 的 styles.xml。你在这里所拥有的可能是你能得到的最接近的。只是不要在情节提要中这样做,用代码设置所有字体。 我将不得不为此不必要地制作每个标签的插座或插座连接 没有更好的办法吗? 我个人认为情节提要不是设置 UI 元素样式的有用工具。添加网点有什么问题?或者根本不使用情节提要并用代码编写所有内容。 @Dia 您不必为了更改字体而添加网点。看看我的回答,希望对你有用。 【参考方案1】:

要从情节提要中设置自定义字体,您应该执行以下操作:

首先,一定要将字体文件添加到你的项目中(将它拖到你的项目中)并设置它的目标,否则它将不起作用。

    打开 info.plist 添加行 键入“应用程序提供的字体”。它应该会自动完成。 展开行并添加一个元素(第 0 项) 将项目 0 类型设置为“字符串”,值是您的确切字体名称(例如 MyFont.ttc/ttf,尽量避免名称中的空格)

现在您应该能够以编程方式和情节提要使用字体。 要从情节提要中使用它,请选择标签,作为字体设置自定义类型并选择系列,检查图像作为示例。

注意:显然,您必须为添加到情节提要的每个标签手动设置字体。 没有办法一次更改它并更改所有标签字体。

带有两种字体的 Info.plist 示例

我创建了一个目录并将字体拖入其中

确保对每种字体都进行了检查

从情节提要示例中设置字体

【讨论】:

感谢您的回答。我正在寻找一种方法将字体设置为同时分布在各种视图控制器上的多个标签 正如我所说,没有办法用 UILabel 做到这一点。您可以尝试的只是创建 UILabel 的子类,设置默认字体并为所有标签使用新类

以上是关于相当于Xcode中android的styles.xml的主要内容,如果未能解决你的问题,请参考以下文章

xcode 常用快捷键(转)

适用于 Android 的 Unity Google Play 游戏,Xcode 中出现 +200 错误

Android Studio、Xcode、Cocoapods

从 xcode 命令行生成 ipa

如何在 Xcode 或 Android Studio 中无线测试应用程序?

如何使用 XCode 将新文件上传到 git 存储库?