2013-02-05 38 views
4

在Xcode中,我使用固定的UILabel与字体的系统,设置在1B中的文本,并设置尺寸按适合恰好命令=是否可以在Xcode中设置系统字体?

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

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

看来Xcode中的IB使用Helvetica。我可以在某处将其切换到Helvetica Neue吗?我希望切换Xcode中使用的字体,而不是将所有字体硬编码为Helvetica Neue。

+0

http://stackoverflow.com/questions/4284817/using-custom-fonts-in-interface-builder – stuartd

回答

2

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

见2013年WWDC的视频,特别是构建用户界面为iOS7,更新的类型系统和以自动布局控制在Xcode 5为implementinglayout变化的讨论的讨论。

相关问题