sizeToFit 和 sizeThatFits 的區別

項目中我們經常會,用到動態計算文字寬高,而蘋果官方就給我們提供了這樣的方便 sizeToFitsizeThatFits:

這裏寫圖片描述

先來說下 sizeToFit 先看效果:這裏寫圖片描述
這裏寫圖片描述

label.text 賦值後即使frame寬高都是0 也不影響效果。 sizeToFit 會根據 字體大小 和多少計算出最優的 size 並改變自身的 size。

那再來看看sizeThatFits:的效果:這裏寫圖片描述
這裏寫圖片描述

sizeThatFits 返回計算的size 不改變自身size , 此方法傳入的size 是根據指定size 範圍來計算得出的size CGSizeMake(100, CGFLOAT_MAX), 沒有指定 size 需求的話可 [label sizeThatFits:CGSizeZero]; 但這樣高度不會變化 。

sizeThatFitssizeToFit 當設置多行顯示時,兩者又體現出區別,sizeThatFits並不會折行顯示,sizeToFits會在設置的寬度內這行顯示。這實際上又從另一方面驗證了官方的解釋。

知其然,更要知其所以然,學習沒有捷徑,堅持和專研是硬道理,多分享則樂趣無窮!歡迎關注後續博文!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章