實現方法:
獲取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...