4

在 Xcode 中,我使用带有字体系统的固定 UILabel,在 IB 中设置文本并通过按设置大小以完全适合Command=

如果我在 iPad 2 或 iPad 模拟器(非视网膜)上运行它,它会显示 OK。如果我在 iPad 3 或 iPad 模拟器(视网膜)上运行它,它有时会截断文本。文本截断示例:“Min.” 显示为“M ..”

经过一番搜索,我发现这是由于系统字体不同造成的:Helvetica on nonretina iPad。视网膜 iPad 上的 Helvetica Neue。因此,标签在设计时看起来不错,但在视网膜显示器上被切断了。Helvetica Neue 似乎稍微宽一些。如果我在 IB 中将字体硬编码为 Helvetica Neue 并按 Command-=,则将大小调整 1 个像素以适合字体。

Xcode 中的 IB 似乎正在使用 Helvetica。我可以在某处将其切换到 Helvetica Neue 吗?我宁愿切换 Xcode 中使用的字体,而不是将我所有的字体硬编码为 Helvetica Neue。

4

2 回答 2

2

您的直觉是正确的,您不想对特定字体进行硬编码,因为对系统字体的进一步更改会使您的应用看起来过时或尴尬。为避免这种情况,请使用 Autolayout(基于约束的布局)使标签动态适合文本。

请参阅 2013 年 WWDC 视频,特别是Building User Interfaces for iOS7以讨论类型系统的更新和Take Control of Auto Layout in Xcode 5以讨论实现布局更改。

于 2013-07-04T07:50:14.893 回答
1

您所问的问题已在此处得到解答:为 xcode 项目设置默认字体样式、颜色和大小。这是该答案中引用的 WWDC 会话视频,并说明了如何自定义默认 UI:https ://developer.apple.com/videos/wwdc/2012/?id=216

于 2013-07-02T14:00:58.777 回答