UILabel实现文本自适应方法(ios7)
- (void)initUserInterface
{
UILabel *label = [[UILabel alloc]init];
label.numberOfLines = 0; // 须要把显示行数设置成无限制
label.font = [UIFont systemFontOfSize:15];
label.textAlignment = NSTextAlignmentCenter;
label.text = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
CGSize size = [self sizeWithString:label.text font:label.font];
label.bounds = CGRectMake(0, 0, size.width, size.height);
label.center = self.view.center;
[self.view addSubview:label];
}
// 定义成方法方便多个label调用 添加代码的复用性
- (CGSize)sizeWithString:(NSString *)string font:(UIFont *)font
{
CGRect rect = [string boundingRectWithSize:CGSizeMake(320, 8000)//限制最大的宽度和高度
options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading |NSStringDrawingUsesLineFragmentOrigin//採用换行模式
attributes:@{NSFontAttributeName: font}//传人的字体字典
context:nil];
return rect.size;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步