2013-10-28 50 views
1

我有一個用戶界面按鈕,我想更改它的字體。試圖改變字體之前,我跑在調試器按鈕的代碼,並打印出的字體爲標題標籤:UIButton.titleLabel可以抵制字體更改爲更小的字體

po acceptButton.titleLabel.font 
<UICTFont: 0xc61ae70> font-family: ".HelveticaNeueInterface-M3"; font-weight: normal; font-style: normal; font-size: 18.00pt 

我再執行的代碼行:

[acceptButton.titleLabel setFont:[LNSocialAppearance fontHelveticaNeueRegularWithSize:10]]; 

LNSocialAppearance是隻是它立即響應一個方便的方法:

return [UIFont fontWithName: @"Helvetica Neue Regular" size: points]; 

之後,我再次打印出titleLabel的字體:

po acceptButton.titleLabel.font 
<UICTFont: 0xc390f50> font-family: ".HelveticaNeueInterface-M3"; font-weight: normal; font-style: normal; font-size: 17.00pt 

這是怎麼回事嗎?爲什麼字體只能減1?在UIButton中是否允許使用最小字體?這與動態類型有關嗎?

更新:根據Omer的建議,使用setFont:[UIFont systemFontOfSize:12]]可以正常工作。但我寧願不要被迫使用系統字體; Helvetica Neue字體系列有一些限制嗎?如果是這樣,我怎麼知道最小/最大字體大小是多少?

我不能完全肯定是這樣的話,雖然,因爲它的設置字體大小爲17,無論我給什麼數它 - 即使我給它20,它沒有得到任何大任。

回答

0

顯然,它是用於字體的字符串; 「Helvetica Neue Regular」已被替換爲「Helvetica Neue」以及其他字體重量(例如「HelveticaNeue-Light」),並且這些尺寸正確縮小。仔細觀察這些字符串的間距!

0

你可以嘗試設置label.minimumFontSize = 10;

+0

可悲的是,似乎沒有任何影響;之後它仍然被設置爲17。請注意,無論我嘗試將其設置爲多少,它似乎都已設置爲17;將其設置爲20也會導致17. – Tasonir

+1

您是否嘗試讓LNSocialAppereance避開並直接設置字體?你有沒有嘗試過使用系統字體? –

+0

我曾嘗試直接設置字體;它沒有任何區別。大小爲12的系統字體確實有效,但我寧願能夠使用任何字體,而不僅僅是系統字體。至少這是一個改進。 – Tasonir