UILabel UITextView自適應得到高度

2021-12-29 22:40:30 字數 858 閱讀 2895

在ios中,經常遇到需要根據字串的內容動態指定uilabel,uitextview,uitableviewcell等的高度的情況,這個時候就需要動態的計算字串內容的高度,下面是計算的方法:

[cpp]  

/**  

@method 獲取指定寬度情況ixa,字串value的高度 

@param value 待計算的字串 

@param fontsize 字型的大小 

@param andwidth 限制字串顯示區域的寬度 

@result float 返回的高度 

*/  

- (float) heightforstring:(nsstring *)value fontsize:(float)fontsize andwidth:(float)width     

前不久qa報了個文字顯示不全的bug,我看了下**,發現是計算高度出了問題。之前的同事在uitableviewcell中使用了uitextview,但是計算高度時使用了和uilabel相同的的方法。

其實uitextview在上下左右分別有乙個8px的padding,當使用[nsstring sizewithfont:constrainedtosize:linebreakmode:]時,需要將uitextview.contentsize.width減去16畫素(左右的padding 2 x 8px)。同時返回的高度中再加上16畫素(上下的padding),這樣得到的才是uitextview真正適應內容的高度。

示例**如下:

[html]  

+ (float) heightfortextview: (uitextview *)textview withtext: (nsstring *) strtext    

xib tableViewCell 自適應高度

1 在xib中給各個控制項新增約束 2 在model模型中 新增屬性 property nonatomic,assign cgfloat cellheight 高度 3 在cell中重寫model的set方法 在set方法中給cell中的控制項賦值 注意 在計算label的寬度的時候 要手動計算 因...

寬高自適應

網頁布局中經常要定義元素的寬和高。但是很多時候我們希望元素的大小能夠根據視窗或子元素自動調整,這就是自適應 元素自適應在網頁布局中非常重要,他能夠使網頁顯示更加靈活,可以適應在不同裝置 不同視窗和不同解析度下顯示 1.寬度自適應 元素寬度設定為100 塊元素寬度預設為100 2.元素具備最小高度的自...

寬高自適應

寬高自適應 靈活 網頁布局中經常要定義元素的寬和高。但很多時候我們希望元素的大小能夠根據視窗或子元素自動調整,這就是pc自適應。自適應的優點 元素自適應在網頁布局中非常重要,它能夠使網頁顯示更靈活,可以適應在不同裝置 不同視窗和不同解析度下顯示。一 相對視窗和父元素的自適應寫法 寬度 width 1...