UILabel的高度和宽度自适应

1. 创建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];

}


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容