iOS根據文字長度動態計算label的大小

2021-07-08 13:44:41 字數 989 閱讀 1967

今天有人問我該怎麼根據label.text的文字,動態計算label的size,因為有的時候,會用到這個功能,例如,再tableview中,動態改變cell的高的的時候,會經常用到,於是,我就簡單謝了乙個demo,下面是主要**:

nsstring * labeltext = @」這段**主要是用來測試用的,根據文字內容,動態計算label的高度,這段**主要是用來測試用的,根據文字內容,動態計算label的高度,這段**主要是用來測試用的,根據文字內容,動態計算label的高度,」;

uilabel * label = [[uilabel alloc] init];

label.frame = cgrectmake(10, 100, 200, 200);

label.backgroundcolor = [uicolor redcolor];

label.text = labeltext;

cgsize size = [label.text boundingrectwithsize:cgsizemake(300, maxfloat) options: nsstringdrawinguseslinefragmentorigin attributes:[nsdictionary dictionarywithobject:label.font forkey:nsfontattributename] context:nil].size

; nslog(@"%f",size.height);

label.frame = cgrectmake(10, 100, size.width, size.height);

label.numberoflines = 0

; [self.view addsubview:label];

注意:nsdictionary 部分一定要用label.font,這是為了防止計算的時候的屬性和label的font的屬性不同,計算結果和需要的大小有偏差,如果手動寫屬性,也可以,但是要把label.font和手寫的屬性設定相同。

iOS 根據文字動態計算控制項的寬高

下面方法把根據文字多少確定控制項的寬高封裝了方法,開發中複製貼上呼叫即可。text 傳入字串文字 font 設定文字的格式大小 maxsize 設定最大的寬高限制,寬度依實際情況而定,高度最好寫為max,即高度不限制自動根據文字屬性確定。cgsize sizewithtext nsstring te...

iOS計算文字高度(根據文字內容)

ios 7之前 method 獲取指定寬度width,字型大小fontsize,字串value的高度 param value 待計算的字串 param fontsize 字型的大小 param width 限制字串顯示區域的寬度 result float 返回的高度 float heightfors...

iOS 根據文字的長度確定label的寬高

根據文字長度,固定label的寬度和字型大小,畫label的寬高。效果圖 如下 根據文字長度計算label的寬高 nsstring str 天將降大任於斯人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其身,行夫亂其所為。天將降大任於斯人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其身,行夫亂其所為。天將...