cell和label換行的問題

2021-06-22 21:01:21 字數 979 閱讀 8964

【改:如果你把行數預設成0的話 他會自適應行數 也就是說 你內容有多少行他就多少行 但是frame還是要自己設定】

計算行數

【計算移動距離不需要通過行數。】

str為輸入內容  move 為算出 當前frame相對於單行是移動了多少。[用於給其他受影響的view修改orgain.x]

cgsizesize=[str sizewithfont:[

uifont

systemfontofsize:

17.0

] constrainedtosize:cgsizemake(

210.0f

,1000.0f

) linebreakmode:

];

//將str字串以sizewithfont 的字型模式單詞切割模式傳入指定的大小的size[寬度超過210就換行]內所需要的實際高度和寬度。

//【傳入的size 為限制值,高度和寬度最大只能為傳入寬度大小】

cgsizesize2=[

@"1"

sizewithfont:[

uifont

systemfontofsize:

17.0

] constrainedtosize:cgsizemake(

210.0f

,1000.0f

) linebreakmode:

];int move=size.height-size2.height

總結一下:

【在stroyboard裡面設定lable行數為0,既可自動換行】

3.你需要根據你內容的行數修改你的布局。包括自己的frame.size.height,被影響的frame.origen.y[計算出 位移(當前size-@""的size),然後給+被影響的]。

4.你還要修改cell的高度。

5.確定不要使用autolayout。

動態調整label和cell的高度

根據文字內容長度動態調整label和cell的高度 1 首先獲得文字資訊所需要的size cgsizetitlesize question.title sizewithfont uifontsystemfontofsize 17 constrainedtosize cgsizemake 209,10...

關於label的強制換行

第一種方法是直接引用樣式 label3 runat server width 350px text bind y question cssclass label 第二種方法 檢視頁面原始碼發現,解析後的label標籤為 所以在頁面新增樣式 label3 runat server width 350p...

C WinForm中的Label換行方法

第一種是把label的autosize屬性設為false,手動修改label的大小.這樣的好處是會因內容的長度而自動換行,但是當內容的長度超過所設定的大小時,多出的內容就會無法顯示.因此,這種方法適合於基本確定內容長度的時候使用.第二種是把label的dock設為fill,同時將autosize屬性...