在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。
答案 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