我在iOS 6上实现应用程序的布局时使用了自定义的TTF字体(Gotham)。我注意到它的基线总是比常规字体高一点,但只是推动了适合的东西。
现在我已经更新到iOS 7 SDK,在iOS 7设备上运行时,字体位置更接近普通字体,但在iOS 6设备上仍然看起来很简单。
因此,在解释iOS 7的字体指标时,看起来Apple修复了导致基线垂直移动的原因,但未触及iOS 6。
我已经尝试使用Apple的字体工具套装修改实际的TTF上升器,下行器和线间隙属性,根据this博客文章和stackoverflow上的许多答案,它在iOS 6上有帮助,但不是在iOS 7上做了很多改变。
我的问题是:我可以做些什么来在iOS 6和7上使用自定义字体,而无需根据正在运行的iOS版本调整每个标签?
我知道iOS 7发行说明中已经提到过这一点,但我不想在我的代码中添加大量的条件子句,以便为iOS 6或iOS 7设备以不同的方式轻推标签。
答案 0 :(得分:1)
编辑TTF文件是解决方案。
我已按照this回答的建议,在Glyphs上打开了我的TTF文件并再次导出。字形将ascender和lineGap值调整为可能正确的值,并且字体在iOS 6和IOS 7上表现得非常相似。现在基线甚至非常接近系统字体。
仍然存在一些细微的垂直差异,但显然这种情况发生在iOS 7上的每种字体上,即使在system fonts上也是如此,但它很多不太明显。