動態計算文字寬度和高度

2022-08-27 02:30:15 字數 751 閱讀 9090

使用場景:例如在tableview的cell中,指定label最大寬度,高度不限,超過最大寬度則自動換行,先用這個方法來設定label的size,然後給label賦值string,即可得到自適應的label

*  返回uilabel自適應後的size

*  @param astring 字串

*  @param width   指定最大寬度

*  @param height  指定最大高度

*  @param font 指定字型大小

*  @return cgsize

- (cgsize)sizelabeltofit:(nsstring *)astring width:(cgfloat)width height:(cgfloat)height font:(uifont *)font{

uilabel *templabel = [[uilabel alloc]initwithframe:cgrectmake(0, 0, width, height)];

templabel.font = font;

templabel.numberoflines = 0;

templabel.text = astring;

[templabel sizetofit];

cgsize size = templabel.frame.size;

size = cgsizemake(ceilf(size.width),ceilf(size.height));

return size;

計算文字的寬度和高度

計算文字的寬度和高度 cgsize namesize self.status.name boundingrectwithsize namemaxsize option nsstringdrawingoptions attributes attrs context nil size 此方法計算字串 s...

IOS 獲取文字的高度和寬度

cgfloat heightforcontent mymsgtextmodel content withwidth cgfloat width nsdictionary attributes contentsize content.textmsg boundingrectwithsize cgsiz...

動態設定ImageView的寬度和高度

需求 顯示寬度等於手機螢幕寬度,高度不固定,但不能改變原圖比例 解決 獲取螢幕長寬 displaymetrics dm context.getresources getdisplaymetrics int w screen dm.widthpixels int h screen dm.heightp...