2011-04-24 59 views
2

我正在爲iPhone和iPad製作通用應用程序。我知道有一個選項可以定義文本應該向下縮放到選定的點大小,但是當iPad上顯示文本時我需要向上縮放文本。那可能嗎?我有一個大小爲18分的標籤。考慮到文本的長度,這幾乎佔據了iPhone的整個寬度。但在iPad上,這不會是因爲屏幕尺寸的增加...如何製作字體比例

謝謝你的時間。

+1

假設它會逐個縮小到iPad和iPhone,那麼讓字體尺寸更大一些呢?我沒有嘗試過,只是提供它作爲一個想法。 – dredful 2011-04-24 20:01:38

回答

1

你可以循環的方法:

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode 

,直到你得到一個匹配,佔用了兩條線,然後用以前的字體大小。似乎更快/更容易使用成語來爲iPad定義特定的尺寸。

2

我對通用應用程序有同樣的問題。

我確實設置了自動調整參數,以在界面生成器中直接縮放所有組件,但它沒有縮放字體大小以獲取新給定的屏幕空間。

我結束了更新用下面的代碼每個視圖的viewDidLoad,通過視圖的部件基本上迭代和爲所有標籤加倍的pointsize(可爲按鈕做的一樣好):

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    for (UIView *component in self.view.subviews) { 
     if ([component isKindOfClass:[UILabel class]]) { 
      UILabel *labelToUpdate = (UILabel *) component; 
      [labeltoUpdate setFont:[labelToUpdate.font fontWithSize:labelToUpdate.font.pointSize*2]]; 
     } 
    } 

的應用程序現在可以很好地從iPhone擴展到iPad。