iOS 根據文字字數動態確定Label寬高

2022-07-31 17:36:13 字數 1535 閱讀 3444

ios7中用以下方法

cgsize

替代過時的ios6中的- (cgsize)sizewithfont:(uifont *)font 方法

// ios7_api_根據文字 字數動態確定label寬高

// 設定label的字型 helveticaneue courier

uifont *fnt = [uifont fontwithname:@"helveticaneue" size:24.0f];

_namelabel.font = fnt;

// 根據字型得到nsstring的尺寸

cgsize size = [_namelabel.text sizewithattributes:[nsdictionary dictionarywithobjectsandkeys:fnt,nsfontattributename, nil]];

// 名字的h

cgfloat nameh = size.height;

// 名字的w

cgfloat namew = size.width;

_namelabel.frame = cgrectmake(0, 0, namew,nameh);

ios7中用以下方法boundingrectwithsize:options:attributes:context:替代過時的ios6中的sizewithfont:constrainedtosize:linebreakmode:方法

// 4,根據正文內容多少,動態確定正文content的frame

// 寬度w

cgfloat contentw = self.bounds.size.width - _content.frame.origin.x - kmargin;

// label的字型 helveticaneue courier

uifont *fnt = [uifont fontwithname:@"helveticaneue" size:18.0f];

_content.font = fnt;

_content.numberoflines = 0;

// ios7中用以下方法替代過時的ios6中的sizewithfont:constrainedtosize:linebreakmode:方法

cgrect tmprect = [_content.text boundingrectwithsize:cgsizemake(contentw, 1000) options:nsstringdrawinguseslinefragmentorigin attributes:[nsdictionary dictionarywithobjectsandkeys:fnt,nsfontattributename, nil] context:nil];

// 高度h

cgfloat contenth = tmprect.size.height;

nslog(@"調整後的顯示寬度:%f,顯示高度:%f"contentw,contenth);

_content.frame = cgrectmake(0, 0, contentw,contenth);

Unity根據文字字數多少來動態設定文字框的大小

首先建立乙個scroll view 在其中的content控制項上新增如下兩個元件 然後在想要適應的文字框上面新增如下元件 會有提示說父節點已經有了這個元件,不用管他 由於這樣做當文字適應大小之後無法自動恢復最初文字框的大小,因此需要在重新設定文字內容的時候強制重置大小 如下foreach var ...

iOS 根據文字內容確定文字框高度

第三方庫tqrichtextview 是乙個 混排的第三方庫,可以根據文字內容設定文字框的高度。系統也自帶了一種方法可以根據文字的內容設定文字的高度。uilabel testlabel uilabel new testlabel.backgroundcolor uicolor graycolor t...

類似微博大v的文字居中,v根據文字字數而改變做法

首先來看一下需求 我們要實現類似這種的微博大v,文字要居中,並且圖示v要隨文字字數改變而跟隨 w3c對於position的解釋是 position 屬性規定元素的定位型別。這個屬性定義建立元素布局所用的定位機制。任何元素都可以定位,不過絕對或固定元素會生成乙個塊級框,而不論該元素本身是什麼型別。相對...