2015-05-29 17 views
1

爲什麼當尺寸設置爲零時,UIFont錯誤地打印出字體名稱? 當我將大小設置爲大於零的任何值時,則會輸出正確的字體名稱。這種行爲背後是否有特殊原因,或者這是一個真正的錯誤。當pointSize爲0時,UIFont不會設置正確的字體名稱

UIFont* f1 = [UIFont fontWithName:@"HelveticaNeue-Thin" size:0]; 
NSLog(@"%@",f1); 
UIFont* f2 = [UIFont fontWithName:@"HelveticaNeue-Thin" size:1]; 
NSLog(@"%@",f2); 

輸出:

<UICTFont: 0x7fb90c988e10> font-family: "Helvetica"; font-weight: normal; font-style: normal; font-size: 0.00pt 
<UICTFont: 0x7fad92177a90> font-family: "HelveticaNeue-Thin"; font-weight: normal; font-style: normal; font-size: 1.00pt 

回答

2

the documentation

fontSize的大小(分)到該字體被縮放。該值必須大於0.0。

您正試圖實施不受支持的行爲。預計會出現「不正確」的結果。

+0

由於現實世界中的字體大小是無符號數,這使得總體感覺。我覺得他們仍然會給你一個不同的字體名稱,這似乎很奇怪。爲什麼不只是給出正確的一個?我想這歸結於蘋果的實現,我看不到。 –

+0

@ s.ka,我想可以歸結爲Helvetica是iOS7之前的默認系統字體。在這樣的時刻,仍然潛伏着惹惱你。 – foundry

相關問題