UILabel 自動換行

2021-06-20 11:57:30 字數 877 閱讀 7469

實現方法:

獲取uilabel的frame大小

獲取uilabel的字型大小

獲取uilabel的文字內容

根據上面的3部分資料,計算文字顯示區域大小

根據4計算的大小,實時改變uilabel的frame

nsstring *string  = @"自動換行uilabel自適應啦啦啦啦啦啦啦啦";

cgsize  labelsize = [string  

sizewithfont

:[uifont

systemfontofsize

:14]

constrainedtosize

:cgsizemake

(200.0

,1000

)linebreakmode:];

//14 為uilabel的字型大小

//200為uilabel的寬度,5000是預設的乙個高度,表示在這個範圍內

label

.numberoflines=0

;//表示label可以多行顯示

label

.linebreakmode

= ;//換行模式,與上面的計算保持一致。

label

.frame

= cgrectmake

(label

.frame

.origin.x

, label

.frame

.origin.y

, label

.frame

.size

.width

, labelsize

.height

);//保持原來label的位置和寬度,只是改變高度。

UILabel 簡單實現自動換行

uilabel label uilabel alloc initwithframe cgrectzero autorelease label.font uifont systemfontofsize 15 label.numberoflines 0 0代表行數沒有最大限制 self.view add...

UILabel自適應高度和自動換行

初始化label uilabel label uilabel alloc initwithframe cgrectmake 0,0,0,0 設定自動行數與字元換行 label setnumberoflines 0 label.linebreakmode uilinebreakmodewordwrap...

UILabel設定自動使用高和換行

初始化label uilabel label uilabel alloc initwithframe cgrectmake 0,0,0,0 設定自動行數與字元換行 label setnumberoflines 0 label.linebreakmode uilinebreakmodewordwrap...