繁体   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