iOS 7自定义字体对齐问题

3
我在iOS 6上实现应用程序布局时使用了自定义的TTF字体(Gotham)。我注意到它的基线始终比常规字体高一些,但只是微调以适应。现在我已经更新到iOS 7 SDK,当在iOS 7设备上运行时,字体放置位置更接近于常规字体,但在iOS 6设备上仍然看起来有微调。因此,看起来苹果已经修复了导致在iOS 7中解释字体度量时出现垂直移动的问题,但未触及iOS 6。我已经尝试使用Apple的字体工具套件修改实际的TTF上升器、下降器和行间距属性,如博客文章和stackoverflow上的许多答案所述,在iOS 6上确实有所帮助,但在iOS 7上变化不大。我的问题是:有没有什么办法可以在iOS 6和7上使用自定义字体,而不需要根据运行的iOS版本调整每个标签?我知道这在iOS 7发布说明中已经提到了,但我不想在代码中添加大量条件子句以使标签在iOS 6或iOS 7设备上微调。
1个回答

1
编辑TTF文件是解决方案。 我遵循这篇答案的建议,在Glyphs上打开了我的TTF文件并重新导出。Glyphs将asender和lineGap值调整到可能正确的值,字体在iOS 6和iOS 7上的行为几乎相同。现在基线甚至非常接近系统字体。 仍然存在一些轻微的垂直差异,但显然这种情况发生在iOS 7上的每种字体中,即使在系统字体上也是如此,但这种差异明显减少了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接