iOS自定义字体,添加字体系列

iOS自定义字体,添加字体系列,ios,xcode,fonts,Ios,Xcode,Fonts,我希望这不是一个重复的问题,我已经找了一个星期没有成功的答案了 我已成功添加了几个名为的自定义字体: DINOT-Bold.otf、DINOT-Black.otf、DINOT-Medium.otf、DINOT-Reg.otf和DINOT.otf 根据需要将所有内容添加到.plist。 但在尝试通过以下方式访问它们时: self.dynamicLabel1.font = [UIFont fontWithName:@"DINOT-Light" size:20.0f]; self.dynamicLab

我希望这不是一个重复的问题,我已经找了一个星期没有成功的答案了

我已成功添加了几个名为的自定义字体:

DINOT-Bold.otf、DINOT-Black.otf、DINOT-Medium.otf、DINOT-Reg.otf和DINOT.otf

根据需要将所有内容添加到.plist。 但在尝试通过以下方式访问它们时:

self.dynamicLabel1.font = [UIFont fontWithName:@"DINOT-Light" size:20.0f];
self.dynamicLabel2.font = [UIFont fontWithName:@"DINOT-Medium" size:27.0f];
它不起作用了。我知道有时候一个人需要把字体的“另一个”名字“放进去”。 我的是:丁诺。像这样:

self.dynamicLabel1.font = [UIFont fontWithName:@"DIN OT" size:20.0f];
问题是,我上面添加的所有文件“other name”都称为DIN OT,所以现在,XCode无法“告诉”区别(粗体/Med等)

请帮忙,我能做什么


谢谢:)

如果你在谷歌上搜索,你会发现OTF字体在iOS上无法正常工作的报告。我不知道为什么会发生这种情况,因为OTF应该得到支持,但它似乎发生了。也许这取决于字体的内部结构(比如在你的例子中,所有的面都有相同的名称)


一个可能的前进方向是使用或其他工具将字体转换为TTF。另一种可能是修复OTF字体,使其不同的面不会共享相同的内部名称。

谢谢:)将研究它!将OTF转换为TTF是我最后的选择,据说这样做会降低质量。如果你的目标是高质量的排版,转换肯定会遗漏一些东西。但IMO表示,在使用高dpi(例如2540dpi或5080dpi)专业打印设备时,这将是一个更大的问题。