iOS-UILabel几种自适应情况

这篇博客介绍了iOS中UILabel的三种自适应情况:1) 宽度固定时,根据内容自适应高度;2) 高度固定时,根据内容自适应宽度;3) 宽度不变时,如何根据字体大小自适应。提供了相应的代码实现,包括通过`sizeToFit`方法和调整字体大小以适应宽度的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
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];
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值