2016-03-31 55 views
1

如果我試圖更改UIFont的大小,它會更改字體名稱(廣告類型)。 前: font.fontName等於@".SFUIText-Regular"UIFont fontWithSize:更改fontName

執行此: font = [font fontWithSize:size];

後: font.fontName等於@".SFUIDisplay-Regular"

爲什麼?如何避免這種情況?

回答

1

嘗試[UIFont systemFontOfSize:36][UIFont fontWithName:@"SFUIDisplay-Regular" size:36]

此鏈接可以幫助:only change font size (and not font name)

+0

我只是想改變字體的大小。具有相同的其他參數。 – Vyacheslav

+1

也許你應該看到這個答案: http://stackoverflow.com/a/19070942/6124910 – Patrick

+0

@Patrik。是。我認爲你的鏈接包含了唯一使用的代碼。這是線索。 – Vyacheslav

1

爲什麼你要避免這種情況?操作系統認爲您想要的大小最接近「.SFUIText-Regular」的字體是名爲「.SFUIDisplay-Regular」的字體。這完全在規則之內。

住在一起。

+0

我想使用CoreText庫來測量符號。這些字體給我不同的測量寬度值。 – Vyacheslav

1

你可以去這個

label.font = [label.font fontWithSize:50]; 
+0

沒有。我說,這是行不通的。它改變字體。 – Vyacheslav

+0

它永遠不會改變字體...我用它 請檢查一次 –