是否可以在Xcode中设置系统字体?

时间:2013-02-05 16:55:29

标签: xcode uilabel retina-display system-font

在Xcode中,我使用固定的UILabel和字体系统,在IB中设置文本并通过按命令 =

将大小设置为完全匹配

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

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

似乎Xcode中的IB正在使用Helvetica。我可以将它切换到某个地方的Helvetica Neue吗?我更希望切换Xcode中使用的字体而不是将我的所有字体硬编码到Helvetica Neue。

2 个答案:

答案 0 :(得分:2)

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

请参阅2013 WWDC视频,特别是为iOS7构建用户界面,以讨论类型系统的更新和在Xcode 5中控制自动布局关于实施布局变更的讨论。

答案 1 :(得分:1)

您要问的问题已经在这里得到解答:Set the default font style, color, and size for an xcode project。以下是该答案中引用的WWDC会话视频,并说明如何自定义默认UI:https://developer.apple.com/videos/wwdc/2012/?id=216