在 iOS 6 上实现应用程序布局时,我使用了自定义 TTF 字体 (Gotham)。我注意到它的基线总是比常规字体高一点,但只是稍微调整一下以适应。
现在我已经更新到 iOS 7 SDK,在 iOS 7 设备上运行时,字体位置更接近常规字体,但在 iOS 6 设备上看起来仍然有些微缩。
因此,看起来 Apple 修复了解释 iOS 7 字体规格时导致基线垂直移动的原因,但 iOS 6 保持不变。
我已经尝试使用 Apple 的字体工具套件修改实际的 TTF 上升部分、下降部分和行间隙属性this http://www.andyyardley.com/2012/04/24/custom-ios-fonts-and-how-to-fix-the-vertical-position-problem/stackoverflow 上的博客文章和许多答案,它在 iOS 6 上确实有帮助,但在 iOS 7 上没有太大变化。
我的问题是:我可以做些什么来在 iOS 6 和 7 上使用自定义字体,而无需根据运行的 iOS 版本调整每个标签吗?
我知道 iOS 7 发行说明中已经提到了这一点,但我不想在代码中添加大量条件子句来为 iOS 6 或 iOS 7 设备调整不同的标签。
编辑 TTF 文件是解决方案。
我已经遵循了来自的建议this https://stackoverflow.com/a/16798036/67397回答并打开我的 TTF 文件Glyphs http://www.glyphsapp.com并再次导出它们。 Glyphs 将 ascender 和 lineGap 值调整为可能正确的值,并且字体在 iOS 6 和 IOS 7 上的行为几乎相同。现在基线甚至非常接近系统字体。
仍然存在一些细微的垂直差异,但显然 iOS 7 上的每种字体都会出现这种情况,甚至在系统字体 https://devforums.apple.com/message/861315#861315,但它是much不太明显。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)