2014-01-23 173 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