首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当前Widget中的自定义字体iOS总是返回零

当前Widget中的自定义字体iOS总是返回零
EN

Stack Overflow用户
提问于 2016-02-22 12:33:21
回答 5查看 2.5K关注 0票数 10

我试图在今天的扩展中添加自定义字体,但是UIFont总是返回nil

步骤:

  1. 我将字体文件添加到“今日Widget目标”:

  1. 我检查字体文件是否在“今日Widget包”中:

  1. 我在今日Widget的TodayViewController中输入了字体实例,但它总是返回nil
代码语言:javascript
复制
- (void)viewDidLoad {
    [super viewDidLoad];
    UIFont* ft = [UIFont fontWithName:@"octicons-local" size:20];
}

我在我的主项目中使用了同样的方法,并且我可以获得自定义字体。我怎么才能修好它?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-02-22 12:36:59

可能是因为您忘记在.plist文件中添加密钥。

将键Fonts provided by application添加到新行。为所添加的每种字体添加项目。

票数 20
EN

Stack Overflow用户

发布于 2017-03-09 19:33:50

我也遇到了同样的问题,在我的例子中,在plist键Fonts provided by application下添加完整的文件名(包括文件扩展名)对我起了作用。

票数 1
EN

Stack Overflow用户

发布于 2018-05-22 07:00:49

我也遇到了这个问题,我做了targeting font to my target并将fonts providing by application放在plist中。但当我想找回字体的时候还是会变成零。

可能是因为您使用的字体名称是错误的.

例如,(也是我遇到的问题)

我拖到项目名称中的字体是trenolt.otf

但是使用这个名称,UIFont(name: "trenolt", size: 14)获得零

根据通过开发人员将自定义字体添加到应用程序文档的说法

我打印出所有的字体家族和名字

代码语言:javascript
复制
for family in UIFont.familyNames.sorted() {
  let names = UIFont.fontNames(forFamilyName: family)
  print("Family: \(family) Font names: \(names)")
}

然后我进入控制台

代码语言:javascript
复制
["TruenoLt", "TruenoRg"]

现在使用打印的名称

代码语言:javascript
复制
UIFont(name: "TruenoLt", size: 14)

获取

代码语言:javascript
复制
<UICTFont: 0x7fbc39a168b0> font-family: "Trueno"; font-weight: normal; font-style: normal; font-size: 14.00pt
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35553807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档