【问题标题】:custom font not working as 'fallback' anymore自定义字体不再用作“后备”
【发布时间】:2014-08-05 06:42:35
【问题描述】:

我最近将 xcode 更新到最新的 5.1.1,随后将 ios 支持升级到 7.1(从 7.0)。

我有一些中文字符的自定义字体,在我更新之前可以正常工作,但现在根本不工作!

这是它之前工作的图片:http://i.stack.imgur.com/y8fpK.png

现在来自最新版本的模拟器:http://i.stack.imgur.com/NYIW3.png

我的代码中没有任何变化,字体被打包到我的应用程序中,如果我特别告诉应用程序使用它,我可以让字体工作,即:

   // cell.textLabel.font = [UIFont fontWithName:@"HanaMinB" size:18.0];

但它曾经在更新之前用作后备。

我的第一个问题是为什么

其次,如何让应用程序搜索哪种字体可以正确显示字符?

编辑: 目录:http://i.stack.imgur.com/8BxKo.png

复制捆绑资源:http://i.stack.imgur.com/kMLgp.png

应用提供的字体:http://i.stack.imgur.com/hPZOn.png

我想在上面的图片中显示的角色可以在这里找到: http://www.zisea.com/zscontent.asp?uni=280C5

???? unicode:280C5

我正在使用 Hanazono 字体,其中包括 HanaMinA 和 HanaMinB

【问题讨论】:

  • 你也可以发一些汉字吗?这里不是每个人都会说中文,而且很难从图片中复制粘贴...
  • 字体大小可能是原因吗?尝试增加默认字体大小如何?如果不是,请为属性“应用程序提供的字体”添加 PList 的屏幕截图,并确保字体文件存在于您的项目中。
  • @holex 更新了我的问题
  • @Ricky 它与字体大小无关 - 我在顶部添加了我的目录、捆绑资源和应用程序提供的字体的图像。

标签: ios fonts


【解决方案1】:

尝试使用 Appearance 创建后备字体。

像这样:

 [[UILabel appearance] setFont: [UIFont fontWithName:@"HanaMinB" size:18.0]];

这将为您的应用程序中的所有标签创建默认字体。 或者,如果您只需要在 tableView 中:

 [[UILabel appearanceWhenContainedIn:[UITableViewCell class], nil] setFont:[UIFont fontWithName:@"HanaMinB" size:18.0]];

【讨论】:

  • [[UILabel appearance] setFont: [UIFont fontWithName:@"HanaMinB" size:18.0]]; 有效……但它改变了我的许多其他自定义字体! && 有没有办法将它设置为 everywhere 的后备?并且从 7.0 到 7.1 是否发生了一些变化,它不再自动工作了?!
  • 是的,这是在任何地方创建后备字体的方法。如果你不会配置,你需要在哪里使用它。您可以使用+appearanceWhenContainedIn: 和它所在的类。有关外观的更多信息,您可以阅读此link
  • @Antigp 它正在提升我的其他自定义字体
猜你喜欢
  • 2013-04-12
  • 2015-11-29
  • 2012-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
  • 2012-04-22
相关资源
最近更新 更多