2013-08-22 36 views
0

給定UILabel寬度和一個字符串。獲得適合標籤的pointSize最好的方法是什麼?查找PointSize以適合UILabel

示例:我的標籤寬度爲300像素,字符串爲@"Hello, my name is byte"。我想找出最大的字體pointSize,而不是在300像素中截斷它。

一些方法,我正在探索:

1)創建一個虛擬UILabel並設置adjustsFontSizeToFitWidthYES。然後從它得到pointSize。這似乎非常低效。

2.)使用不同的值循環fontSize測試,直到大小返回等於1行。看起來似乎過火了。

有沒有更好的方法來解決這個問題?

回答

0

您是否試過調用sizeToFit?

UIlabel * label = .....

[label sizeToFit];

希望有幫助!

從文檔

sizeToFit 尺寸並移動接收器視圖,它只是圍繞它的子視圖。

  • (無效)sizeToFit 討論 電話時,要調整當前視圖,以便它使用的空間最適合的量這種方法。特定的UIKit視圖根據自己的內部需求調整自己的大小。在某些情況下,如果一個視圖沒有超級視圖,它可能會將自己擴展到屏幕邊界。因此,如果您希望給定的視圖將其自身調整爲其父視圖,則應在調用此方法之前將其添加到父視圖中。

您不應該重寫此方法。如果您想更改視圖的默認尺寸信息,請改爲使用sizeThatFits:。該方法執行任何所需的計算並將它們返回給此方法,然後進行更改。

+0

感謝您的迴應,但您已經錯過了很多點。我沒有問過如何調整我的標籤。我的標籤有固定的尺寸,我想知道它的最佳字體大小,因此附近的其他標籤可以共享相同的字體大小。 – Byte