自定義label高度

2021-07-08 19:53:38 字數 1272 閱讀 1683

建立乙個label

uilabel *label = [[uilabel alloc] initwithframe:cgrectmake(50, 100, 300, 100)];

label.numberoflines = 0;

label.font = [uifont systemfontofsize:16];

label.backgroundcolor = [uicolor graycolor];

nsstring *str = @" --  --- - -- -- -- -- -- -- ---....... ";

label.text = str;

[self.window addsubview:label];

[label release];

計算字串的所佔高度

定值:寬度 字型大小

引數size : 寬度 與 label的寬度一樣

構建字型大小的字典

nsdictionary *dic = [nsdictionary dictionarywithobjectsandkeys:[uifont systemfontofsize:16], nsfontattributename, nil];

求出自適應高度

//  cgfloat_max最大浮點數

cgrect frame = [str boundingrectwithsize:cgsizemake(300, cgfloat_max) options:nsstringdrawinguseslinefragmentorigin attributes:dic context:nil];

nslog(@"%f",frame.size.height);

//  更改label的高度

//  結構體賦值 (不能直接賦值 要用中間變數轉化)(直接賦值會導致系統把 點語法 與 frame (結構體) 的點 混用)

cgrect temp = label.frame;

temp.size.height = frame.size.height ;

label.frame = temp;

iframe 自定義高度

1.選單模組 選單中的模組對應的內容 2.因為事先是定義好iframe的高度所以當模組中的內容超出了 usercenter的高度的時候超出部分會被隱藏掉,所以為了解決這種問題 有兩種解決方法 1 那就是自適應高度,意思就是根據模組中的內容高度來給 usercenter這個iframe 定高 獲取if...

自定義cell的高度

自定義cell的高度 1.把模型資料再次改寫成 乙個擁有frame和模型資料的模型類 2.在設定資料的frame類中把 擁有模型資料和frame的模型類 賦值 3.在 方法中heightforrow中只要拿到擁有frame和資料模型的模型類就可以 算出高度了 1.新建乙個繼承自uitableview...

自定義cell的高度

步驟 1.建立乙個繼承自uitableviewcell的類。2.將cell中要用到的檢視都宣告成屬性 3.將這些檢視都新增到cell的contentview上 4.將資料物件也宣告成屬性,並重寫資料物件的setter方法,將該資料模型的屬性賦值給cell中的檢視上。5.根據文字內容自定義cell的高...