2013-09-28 70 views
0

我想要做的是更改字體大小。只更改字體大小(而不是字體名稱)

我知道下面的語句將更改字體大小,但因爲我們使用systemFontOfSize

[UIFont systemFontOfSize: 13.0]; 

改變字體的名字,我知道替代選項如下所述。

[myLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13.0]]; 

但我不想使用fontWithName,因爲我在IB中設置它。

我不想玩字體名稱,因爲我的應用程序是多語言的,因此我不想玩字體名稱。

任何想法如何才能更改字體大小,不要更改字體名稱。

回答

3

糟糕的是,UIFont的字體指標屬性是隻讀的。這會是很好,如果他們可以動態調整,而不必這樣做如下:再次

UIFont * fontFromLabel = myLabel.font; 

// now we have the font from the label, let's make a new font 
// with the same font name but a different size 
if(fontFromLabel) 
{ 
    // 13, or whatever size you want 
    UIFont * newFontForLabel = [UIFont fontWithName: fontFromLabel.fontName size: 13.0f]; 
    if(newFontForLabel) 
    { 
     [myLabel setFont: newFontForLabel]; 
    } 
} 
+0

哦~~ ...是指閱讀和使用該字體...:d:P醜,但我認爲這是最後的選擇 –

+1

正確...最好的解決辦法是讓蘋果允許['「.pointSize'」屬性](https://developer.apple.com/library/ios/documentation/uikit/reference/UIFont_Class/Reference/Reference .html#// apple_ref/occ/instp/UIFont/pointSize)爲「'readwrite'」。您應該向蘋果公司提交一份關於此功能請求的文檔http://bugreporter.apple.com。 –