iOS-UILabel几种自适应情况

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/JennyHermes/article/details/73330686

/**
1. 宽度不变的label,根据内容自适应高度

@param width 宽度
@param title 文字
@param font 字体
@return height
*/
+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString )title font:(UIFont )font
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, 0)];
label.text = title;
label.font = font;
label.numberOfLines = 0;
[label sizeToFit];
CGFloat height = label.frame.size.height;
return height;
}

/**
2.高度不变的label,根据内容自适应宽度

@param title 文字
@param font 字体
@return width
*/
+ (CGFloat)getWidthWithTitle:(NSString )title font:(UIFont )font {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 20, 0)];
label.text = title;
label.font = font;
[label sizeToFit];
return label.frame.size.width;
}

3.宽度不变的label,根据字体大小自适应

两种方法

一:直接添加一句代码

lblName.adjustsFontSizeToFitWidth = YES;

二、引用方法

-(void)setFontSizeThatFits:(UILabel*)label{
CGFloat fontSizeThatFits;
[label.text sizeWithFont:label.font
minFontSize:8.0 //所需的最小字体
actualFontSize:&fontSizeThatFits
forWidth:label.bounds.size.width
lineBreakMode:NSLineBreakByWordWrapping];
label.font = [label.font fontWithSize:fontSizeThatFits];
}

猜你喜欢

转载自blog.csdn.net/JennyHermes/article/details/73330686
今日推荐