2014-03-13 48 views
1

我的視圖控制器有一個UILabel。它向用戶顯示一美元金額。我有當用量太大,有些文字被替換爲默認大小,我喜歡被顯示爲美元金額,低於調整UILabel的字體,使文本符合標籤的邊界

good

顯示「...」

bad

我想調整UILabel的文本(使其更小),使文本的點大小足以不出現點。是否有一些快速數學我可以做到這一點?

+0

你爲什麼不上的UILabel,使得調整大小,並配合使用sizeToFit方法。 – Sandeep

回答

1
label.adjustsFontSizeToFitWidth = YES; 
label.numberOfLines = 1; 
+1

這可行,但它也可以在沒有將行數設置爲1的情況下工作。何時需要? – JuJoDi

+2

1是默認值。如果這是你想要的,不需要明確地設置它。 – rmaddy

1

使用此:

UILabel * label = // your label 

// update from @rmaddy and @z s 
label.adjustsFontSizeToFitWidth = YES; 
label.minimumScaleFactor = 0.5; 

這意味着你允許截斷之前您的文本縮小到多達一半大小。相應地調整。

如果你在一個預先的iOS 7的環境中工作,你也可以使用:

UILabel * label; 
label.minimumFontSize = 14; 

要設置具體的最小字體大小;然而,這已被棄用,因爲iOS 7

+0

如果您還啓用了'adjustsFontSizeToFitWidth',則只有在設置'minimumScaleFactor'時纔有用。 – rmaddy

+0

@rmaddy更新,謝謝你的收穫,我錯過了那一個。 – Logan

1

沒有必要爲你做數學,系統提供的API可以爲你做。在Interface Builder中,將標籤的自動縮放設置爲0.7的最小縮放因子(或任何適合您需要的值)。文字現在會根據需要縮小。

enter image description here