2014-01-23 143 views
2

我正在通过自定义函数为我的view中的所有subviews(例如UILabels)设置自定义字体。但是,如果我尝试只能通过UIFont:字体大小不同

[lbl_EXAM_Statistics setFont:[UIFont fontWithName:@"PTSans-Regular" size:13]]; 

以纠正特定UILabels的字体大小的13point似乎有点从什么是给我从Screendesign“太小”。 然而在psd文件中它的13pt是确切的。

为什么13pt字体大小与我的应用程序的13pt字体大小不同?

在屏幕截图中,上述文本来自psd文件,这是iphone模拟器的底部文件。

如果我想从Screendesign到我的应用程序接近文本大小,我将不得不使用一些18pt - 但我不能浪费时间玩弄周围如何得到确切的点,这是一个巨大的时间浪费与所有字体大小我必须直接指定。所以一定有更好的办法。

enter image description here

+0

它在顶部示例中看起来很大。另外,你使用“PSD”和“PDF”来描述这个,有两个文件吗? –

+0

在Simulator-> Window-> Scale中设置为100% – avuthless

+0

@ WilShipley没有,theres没有PDF文件。只是一个错字。 @ avuthless它被设置为75,我将它改为100% - 但字体太小。 – paskl

回答

6

完全取决于你的PSD。 最好是在Photoshop中以像素为单位设置指标。所以你可以看到你的字体大小以像素为单位。

然后,如果您的PSD处于视网膜大小(640像素宽),您只需将字体的px大小除以2,您的应用就会获得良好的效果。

最后,不要在你的PSD使用PT但PX和将ALLRIGHT(只是认为1点在iOS的是2px的视网膜屏幕和1px的非视网膜上)

+0

PSD文件是视网膜大小(640像素宽)。如果可能,我会要求我的图形团队将字体从pt更改为px。 (他们会恨我的)。感谢您的答复。 – paskl

+0

不,不,你的图形团队不参与。您只需要以像素为单位设置您的Photoshop(以其设置为单位)指标(对于开发人员更方便)。 然后,您将获得以像素为单位的字体大小。你只需要看它,除以2并将其设置为你的'[UIFont fontWithName:@“PTSans-Regular”size:13]' – AncAinu

+0

Gotcha。但它说它的27,78px,如果我用2来区分,我会来到几乎是我以前的输出的同一个13.x。此外,PSD文件设置为200dpi,我将其更改为72.现在,我必须将13.x乘以2来获得视网膜字体大小?它是我第一次尝试将Screendesign应用于应用程序(也是我的第一款应用程序),所以对于noob问题感到抱歉。:( – paskl

1

Photoshop的字体大小和iPhone应该匹配,假设PSD文件设置为72dpi(或144视网膜图像)。

您可以使用Image-> Image Size ...在Photoshop中检查该分辨率,然后将分辨率设置为72像素/英寸(通过取消选中“Resample Image:”来保持像素不变)。如果图像用于视网膜分辨率,则使用144像素/英寸。

这不会以任何方式改变图像,但会使Photoshop中的所有点测量值与iPhone的坐标系,视网膜相匹配。

+0

谢谢,这帮了我。 PPI设置为200,我将其更改为72 ppi。 – paskl