UILabel的高度和寬度自適應

1. 創(chuàng)建UILable 的 category

.h中+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString*)title font:(UIFont*)font;+ (CGFloat)getWidthWithTitle:(NSString*)title font:(UIFont*)font;

.m中

+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString*)title font:(UIFont*)font{

? ? ?UILabel*label = [[UILabelalloc] initWithFrame:CGRectMake(0,0, width,0)];

? ? ?label.text = title; label.font = font;

? ? ?label.numberOfLines =0; [label sizeToFit];

? ? CGFloatheight = label.frame.size.height;returnheight;

}

+ (CGFloat)getWidthWithTitle:(NSString*)title font:(UIFont*)font {

? ? UILabel*label = [[UILabelalloc] initWithFrame:CGRectMake(0,0,1000,0)];

? ? label.text = title;

? ? label.font = font;

? ? [label sizeToFit];

? ? returnlabel.frame.size.width;

}

2. 使用時 引入頭文件

#import"UILabel+LabelHeightAndWidth.h"

#pragma mark - labelOne SizeToFitHeight

- (void)buildLabelOne{

UILabel*labelOne = [[UILabelalloc] initWithFrame:CGRectMake(10,30,200,50)];

labelOne.text =@"這是labelOne的高度自適應這是labelOne的高度自適應這是labelOne的高度自適應這是labelOne的高度自適應"; labelOne.backgroundColor = [UIColorgrayColor];

labelOne.font = [UIFontsystemFontOfSize:20];

labelOne.numberOfLines =0;

CGFloatheight = [UILabelgetHeightByWidth:labelOne.frame.size.width title:labelOne.text font:labelOne.font];

labelOne.frame =CGRectMake(10,30,200, height); [self.view addSubview:labelOne]; }

#pragma mark - labelTwo SizeToFitWidth

- (void)buildLabelTwo{

UILabel*labelTwo = [[UILabelalloc] initWithFrame:CGRectMake(10,300,50,100)];

labelTwo.text =@"這是labelTwo的寬度自適應這是labelTwo的寬度自適應這是labelTwo的寬度自適應";

labelTwo.backgroundColor = [UIColor cyanColor];

labelTwo.font = [UIFontsystemFontOfSize:20];

CGFloatwidth = [UILabelgetWidthWithTitle:labelTwo.text font:labelTwo.font];

labelTwo.frame =CGRectMake(10,300, width,100);

[self.view addSubview:labelTwo];

}


?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容